@yottagraph-app/aether-instructions 1.1.25 → 1.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@ This command reads `DESIGN.md` (which contains the project creator's vision) and
10
10
 
11
11
  ---
12
12
 
13
- ## Step 1: Read the Brief
13
+ ## Step 1: Read the Brief and Design References
14
14
 
15
15
  Read `DESIGN.md` from the project root.
16
16
 
@@ -26,6 +26,33 @@ Look for a `## Vision` section -- this contains the project creator's descriptio
26
26
 
27
27
  Stop here and wait for the user to describe what they want.
28
28
 
29
+ ### Long-form briefs
30
+
31
+ If the Vision section is long (roughly 500+ words -- a full PRD, spec, or design doc), don't try to hold it all in your head at once. Instead:
32
+
33
+ 1. Read the full Vision section carefully.
34
+ 2. Extract the **core purpose** (one sentence: what is this app for?).
35
+ 3. Identify the **MVP feature set** -- the minimum set of features that delivers the core value. Look for explicit priority indicators (P0/P1, "must have" vs "nice to have", numbered phases). If none exist, use your judgment: what's the smallest thing that works end-to-end?
36
+ 4. Create `design/requirements.md` with your extracted requirements, grouped by priority. This becomes your working checklist.
37
+ 5. Build the MVP first, then iterate. Don't try to implement every detail from a long brief in one pass.
38
+
39
+ ### Design references
40
+
41
+ Check for a `## Design References` section in DESIGN.md and for files in `design/references/`:
42
+
43
+ ```bash
44
+ ls design/references/ 2>/dev/null
45
+ ```
46
+
47
+ If design reference images exist (screenshots from Figma or other design tools):
48
+
49
+ 1. **Examine each image** -- these are design mockups from the project creator showing what the app should look like.
50
+ 2. Describe what you see in each image: layout structure, navigation patterns, component types, color usage, typography.
51
+ 3. Map visual elements to **Vuetify components** (cards = `v-card`, data tables = `v-data-table`, navigation drawers = `v-navigation-drawer`, app bars = `v-app-bar`, etc.). If a `vuetify-figma` skill is available in `.cursor/skills/`, read it for detailed component mapping guidance.
52
+ 4. Use the design references alongside the Vision text to plan the UX. The images show *what it should look like*; the Vision text explains *what it should do*.
53
+
54
+ If a Figma URL is referenced in DESIGN.md, note it for the user but don't attempt to fetch it -- work from the uploaded screenshots and the text brief.
55
+
29
56
  ---
30
57
 
31
58
  ## Step 2: Check MCP Servers
@@ -0,0 +1,158 @@
1
+ # Manage Secrets
2
+
3
+ Add, update, or remove environment variables (secrets) for your deployed app. Secrets are stored encrypted on Vercel and are available to your app at runtime and build time.
4
+
5
+ ## Overview
6
+
7
+ This command manages environment variables on your project's Vercel deployment through the Broadchurch Portal API. After any change, it automatically syncs the updated values to your local `.env` file so your dev server stays in sync with production.
8
+
9
+ **Prerequisite:** The project must have a valid `broadchurch.yaml` (created during provisioning).
10
+
11
+ ---
12
+
13
+ ## Step 1: Read Configuration
14
+
15
+ Read `broadchurch.yaml` from the project root.
16
+
17
+ ```bash
18
+ cat broadchurch.yaml
19
+ ```
20
+
21
+ **If the file does not exist:**
22
+
23
+ > This project hasn't been provisioned yet. Create it in the Broadchurch Portal first.
24
+
25
+ Stop here.
26
+
27
+ Extract these values:
28
+
29
+ - `tenant.org_id` (tenant org ID)
30
+ - `gateway.url` (Portal Gateway URL)
31
+
32
+ ---
33
+
34
+ ## Step 2: List Current Environment Variables
35
+
36
+ Fetch the current user-managed environment variables:
37
+
38
+ ```bash
39
+ curl -sf "<GATEWAY_URL>/api/projects/<ORG_ID>/env-vars"
40
+ ```
41
+
42
+ Parse the JSON response. The `vars` array contains `{ key, value }` objects.
43
+
44
+ Present the current state to the user:
45
+
46
+ > **Environment Variables for this project:**
47
+ >
48
+ > | Key | Value |
49
+ > |-----|-------|
50
+ > | `MY_API_KEY` | `sk-abc...xyz` |
51
+ > | `THIRD_PARTY_SECRET` | `secret_1234` |
52
+ >
53
+ > _(or "No environment variables set yet." if empty)_
54
+ >
55
+ > What would you like to do?
56
+ >
57
+ > 1. **Add** a new variable
58
+ > 2. **Update** an existing variable
59
+ > 3. **Remove** a variable
60
+ > 4. **Done** — nothing to change
61
+
62
+ Wait for the user to choose.
63
+
64
+ ---
65
+
66
+ ## Step 3: Execute the Change
67
+
68
+ ### If adding or updating:
69
+
70
+ Ask the user for the key name and value. Key names must match `[A-Za-z_][A-Za-z0-9_]*`.
71
+
72
+ ```bash
73
+ curl -sf -X PUT "<GATEWAY_URL>/api/projects/<ORG_ID>/env-vars" \
74
+ -H "Content-Type: application/json" \
75
+ -d '{"vars": {"<KEY>": "<VALUE>"}}'
76
+ ```
77
+
78
+ **If the API returns 403:** The key is a platform-managed variable and cannot be modified by users.
79
+
80
+ ### If removing:
81
+
82
+ Confirm which key to delete, then:
83
+
84
+ ```bash
85
+ curl -sf -X DELETE "<GATEWAY_URL>/api/projects/<ORG_ID>/env-vars/<KEY>"
86
+ ```
87
+
88
+ **If the API returns 404:** The variable doesn't exist.
89
+
90
+ ---
91
+
92
+ ## Step 4: Sync Local .env
93
+
94
+ After the API call succeeds, update the local `.env` file to match.
95
+
96
+ 1. Read the current `.env` file
97
+ 2. Look for a `# User secrets (managed via Broadchurch Portal)` section delimiter
98
+ 3. **If the section exists:** Replace everything from that delimiter to the next blank line (or end of file) with the updated variables
99
+ 4. **If the section doesn't exist:** Append it at the end of `.env`
100
+
101
+ Fetch the current full list to ensure local is in sync:
102
+
103
+ ```bash
104
+ curl -sf "<GATEWAY_URL>/api/projects/<ORG_ID>/env-vars"
105
+ ```
106
+
107
+ Then write the section to `.env`:
108
+
109
+ ```
110
+ # User secrets (managed via Broadchurch Portal)
111
+ KEY_ONE=value_one
112
+ KEY_TWO=value_two
113
+ ```
114
+
115
+ **Important:** Do not modify any other lines in `.env`. Only touch lines within the user secrets section.
116
+
117
+ ---
118
+
119
+ ## Step 5: Confirm and Offer Next Steps
120
+
121
+ > Updated `<KEY>`:
122
+ >
123
+ > - Vercel (production + preview) — updated
124
+ > - Local `.env` — synced
125
+ >
126
+ > **Restart your dev server** (`npm run dev`) if it's running, to pick up the change locally.
127
+
128
+ If the variable name starts with `NUXT_PUBLIC_`:
129
+
130
+ > **Note:** `NUXT_PUBLIC_*` variables are baked into the app at build time. The Vercel deployment will need a rebuild for the change to take effect in production. Push a commit or trigger a redeployment from the Portal.
131
+
132
+ If the variable name does NOT start with `NUXT_PUBLIC_`:
133
+
134
+ > This server-side variable will be available on the next request in production — no redeployment needed.
135
+
136
+ Then ask:
137
+
138
+ > Would you like to add, update, or remove another variable? (or type "done")
139
+
140
+ If yes, go back to Step 3. If done, finish.
141
+
142
+ ---
143
+
144
+ ## Troubleshooting
145
+
146
+ ### "Project has no Vercel project configured"
147
+
148
+ The project's Vercel integration wasn't set up during provisioning. Check the Broadchurch Portal for the project status.
149
+
150
+ ### API returns 403 for a key
151
+
152
+ The key is platform-managed (Auth0, gateway, query server, etc.) and cannot be modified through this command. Use the Portal's Platform Services section instead.
153
+
154
+ ### Variable not appearing in the deployed app
155
+
156
+ - **`NUXT_PUBLIC_*` vars** need a redeployment (push a commit or trigger from Portal)
157
+ - **Server-side vars** should be available immediately — check that the key name is correct
158
+ - Make sure you're reading the variable correctly in code: use `useRuntimeConfig()` in Nuxt, not `process.env` directly
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yottagraph-app/aether-instructions",
3
- "version": "1.1.25",
3
+ "version": "1.1.26",
4
4
  "description": "Cursor rules, commands, and skills for Aether development",
5
5
  "files": [
6
6
  "rules",
package/rules/design.mdc CHANGED
@@ -31,10 +31,23 @@ asks to keep specific parts.
31
31
 
32
32
  # Project Brief
33
33
 
34
- If `DESIGN.md` has a `## Vision` section, it contains the project creator's original description of what they want to build — written during project setup in the Broadchurch Portal.
34
+ If `DESIGN.md` has a `## Vision` section, it contains the project creator's original description of what they want to build — written during project setup in the Broadchurch Portal. This can range from a single sentence to a full PRD with user stories, wireframes, and technical constraints.
35
35
 
36
36
  When a user opens the project for the first time and hasn't started building yet (the `## Status` section says "Run `/build_my_app`"), suggest running that command. If they ask "what should I build?" or similar, read the Vision section of DESIGN.md first.
37
37
 
38
+ ## Long-form briefs
39
+
40
+ Users may paste full PRD or spec documents as their project brief. When the Vision section is long (500+ words), focus on extracting the MVP scope before building. Look for priority indicators, phased rollout plans, or "must-have" vs "nice-to-have" distinctions. If none exist, identify the smallest coherent feature set that demonstrates the core value. Create `design/requirements.md` to capture your extracted requirements as a working checklist.
41
+
42
+ ## Design references
43
+
44
+ `DESIGN.md` may include a `## Design References` section with Figma URLs and/or image references. Design mockup images live in `design/references/`. When these exist:
45
+
46
+ - Examine the images to understand intended layout, navigation patterns, and visual style
47
+ - Map visual elements to Vuetify components (if a `vuetify-figma` skill exists, use it)
48
+ - Treat design references as the "what it should look like" complement to the Vision's "what it should do"
49
+ - Figma URLs are informational — work from the uploaded screenshots, not the live Figma file
50
+
38
51
  # Feature docs
39
52
 
40
53
  Feature docs are used as working documents to help a user and agent collaborate on feature implementation. A feature can be whatever size you need -- an entire page, a shared composable, or a single component.