@yottagraph-app/aether-instructions 1.0.1 → 1.1.0

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.
Files changed (27) hide show
  1. package/README.md +11 -14
  2. package/commands/{aether_update_instructions.md → update_instructions.md} +37 -33
  3. package/package.json +1 -1
  4. /package/commands/{aether_broadchurch_setup.md → broadchurch_setup.md} +0 -0
  5. /package/commands/{aether_build_my_app.md → build_my_app.md} +0 -0
  6. /package/commands/{aether_configure_query_server.md → configure_query_server.md} +0 -0
  7. /package/commands/{aether_deploy_agent.md → deploy_agent.md} +0 -0
  8. /package/commands/{aether_deploy_mcp.md → deploy_mcp.md} +0 -0
  9. /package/commands/{aether_update_branding.md → update_branding.md} +0 -0
  10. /package/commands/{aether_vercel_deploy.md → vercel_deploy.md} +0 -0
  11. /package/commands/{aether_vercel_setup.md → vercel_setup.md} +0 -0
  12. /package/rules/{aether_aether.mdc → aether.mdc} +0 -0
  13. /package/rules/{aether_agents.mdc → agents.mdc} +0 -0
  14. /package/rules/{aether_api.mdc → api.mdc} +0 -0
  15. /package/rules/{aether_architecture.mdc → architecture.mdc} +0 -0
  16. /package/rules/{aether_branding.mdc → branding.mdc} +0 -0
  17. /package/rules/{aether_cookbook.mdc → cookbook.mdc} +0 -0
  18. /package/rules/{aether_design.mdc → design.mdc} +0 -0
  19. /package/rules/{aether_git-support.mdc → git-support.mdc} +0 -0
  20. /package/rules/{aether_instructions_warning.mdc → instructions_warning.mdc} +0 -0
  21. /package/rules/{aether_mcp-servers.mdc → mcp-servers.mdc} +0 -0
  22. /package/rules/{aether_pref.mdc → pref.mdc} +0 -0
  23. /package/rules/{aether_server.mdc → server.mdc} +0 -0
  24. /package/rules/{aether_something-broke.mdc → something-broke.mdc} +0 -0
  25. /package/rules/{aether_ui.mdc → ui.mdc} +0 -0
  26. /package/skills/{aether_test-api-queries → test-api-queries}/SKILL.md +0 -0
  27. /package/skills/{aether_test-api-queries → test-api-queries}/query-api.js +0 -0
package/README.md CHANGED
@@ -12,32 +12,29 @@ initialization (`init-project.js`). You don't need to install it directly.
12
12
  To update to the latest version:
13
13
 
14
14
  ```
15
- /aether_update_instructions
15
+ /update_instructions
16
16
  ```
17
17
 
18
18
  This Cursor command will:
19
19
  1. Download the latest version of this package
20
- 2. Delete existing `aether_*` files in `.cursor/`
20
+ 2. Replace files in `.cursor/` that are listed in `.cursor/.aether-instructions-manifest`
21
21
  3. Extract fresh files from the package
22
22
  4. Commit the changes
23
23
 
24
24
  ### File Naming Convention
25
25
 
26
- All files from this package are prefixed with `aether_`:
27
- - Rules: `.cursor/rules/aether_*.mdc`
28
- - Commands: `.cursor/commands/aether_*.md`
29
- - Skills: `.cursor/skills/aether_*/`
30
-
31
- This separates package-provided files from your own custom files. Files with
32
- the `aether_` prefix will be overwritten on update; your non-prefixed files
33
- are untouched.
26
+ Package files keep their original names under `.cursor/rules/`,
27
+ `.cursor/commands/`, and `.cursor/skills/`. Which paths are owned by the
28
+ package is recorded in `.cursor/.aether-instructions-manifest`. Only those
29
+ paths are overwritten on update; other files under `.cursor/` are not touched
30
+ by the updater.
34
31
 
35
32
  ### Customizing Rules/Commands
36
33
 
37
- To customize a package file:
38
- 1. Copy it to a new name without the `aether_` prefix
34
+ To customize something that ships with the package:
35
+ 1. Copy it to a new filename (a path not listed in the manifest)
39
36
  2. Make your changes to the copy
40
- 3. Your copy won't be affected by instruction updates
37
+ 3. Your copy won't be replaced when you run `/update_instructions`
41
38
 
42
39
  ## For Maintainers
43
40
 
@@ -47,6 +44,6 @@ This package is built from `aether-dev` sources. To publish:
47
44
  2. Run `/publish_instructions --bump patch --publish`
48
45
 
49
46
  The publish command:
50
- - Copies source files with `aether_` prefix to `packages/aether-instructions/`
47
+ - Copies source files to `packages/aether-instructions/` with their original names
51
48
  - Bumps the version
52
49
  - Publishes to npmjs
@@ -1,19 +1,20 @@
1
- # Update Aether Instructions
1
+ # Update Instructions
2
2
 
3
3
  Update Cursor rules, commands, and skills from the `@yottagraph-app/aether-instructions` npm package.
4
4
 
5
5
  ## Overview
6
6
 
7
- This command downloads the latest version of the Aether instructions package and extracts it to your `.cursor/` directory. All package files are prefixed with `aether_` to distinguish them from your own custom files.
7
+ This command downloads the latest instructions package and extracts it to your `.cursor/` directory. A manifest file (`.cursor/.aether-instructions-manifest`) tracks which files came from the package so updates only replace package-provided files.
8
8
 
9
9
  **What happens:**
10
10
  1. Downloads the latest `@yottagraph-app/aether-instructions` package
11
- 2. Deletes all existing `aether_*` files in `.cursor/rules/` and `.cursor/commands/`
12
- 3. Deletes all existing `aether_*/` directories in `.cursor/skills/`
11
+ 2. Deletes files listed in the existing manifest
12
+ 3. Cleans up any legacy `aether_*` prefixed files from older versions
13
13
  4. Extracts fresh files from the package
14
- 5. Commits the changes
14
+ 5. Writes a new manifest
15
+ 6. Commits the changes
15
16
 
16
- **Your files are safe:** Only files with the `aether_` prefix are touched. Your custom rules, commands, and skills (without the prefix) are never modified.
17
+ **Your files are safe:** Only files listed in the manifest are touched during updates. If you've created your own rules or commands, they won't be modified.
17
18
 
18
19
  ---
19
20
 
@@ -64,18 +65,23 @@ The extracted content is in `$TEMP_DIR/package/`.
64
65
 
65
66
  ---
66
67
 
67
- ## Step 4: Delete Existing aether_* Files
68
+ ## Step 4: Delete Previously Installed Files
68
69
 
69
- Remove all `aether_*` files from `.cursor/rules/` and `.cursor/commands/`:
70
+ Read the manifest and delete listed files:
70
71
 
71
72
  ```bash
72
- rm -f .cursor/rules/aether_*.mdc
73
- rm -f .cursor/commands/aether_*.md
73
+ if [ -f .cursor/.aether-instructions-manifest ]; then
74
+ while IFS= read -r rel; do
75
+ rm -rf ".cursor/$rel"
76
+ done < .cursor/.aether-instructions-manifest
77
+ fi
74
78
  ```
75
79
 
76
- Remove all `aether_*/` directories from `.cursor/skills/`:
80
+ Also clean up legacy `aether_*` files from older package versions:
77
81
 
78
82
  ```bash
83
+ rm -f .cursor/rules/aether_*.mdc
84
+ rm -f .cursor/commands/aether_*.md
79
85
  rm -rf .cursor/skills/aether_*/
80
86
  ```
81
87
 
@@ -99,18 +105,22 @@ cp -r "$TEMP_DIR/package/skills/"* .cursor/skills/ 2>/dev/null || true
99
105
 
100
106
  ---
101
107
 
102
- ## Step 6: Update Version Marker
108
+ ## Step 6: Write Manifest and Version Marker
103
109
 
104
- Read the new version from the package:
110
+ Build a manifest of all installed files (one relative path per line):
105
111
 
106
112
  ```bash
107
- grep '"version"' "$TEMP_DIR/package/package.json"
113
+ MANIFEST=""
114
+ for f in .cursor/rules/*.mdc; do [ -f "$f" ] && MANIFEST="$MANIFEST\nrules/$(basename "$f")"; done
115
+ for f in .cursor/commands/*.md; do [ -f "$f" ] && MANIFEST="$MANIFEST\ncommands/$(basename "$f")"; done
116
+ for d in .cursor/skills/*/; do [ -d "$d" ] && MANIFEST="$MANIFEST\nskills/$(basename "$d")"; done
117
+ echo -e "$MANIFEST" > .cursor/.aether-instructions-manifest
108
118
  ```
109
119
 
110
120
  Write the version marker:
111
121
 
112
122
  ```bash
113
- echo "X.Y.Z" > .cursor/.aether-instructions-version
123
+ grep -o '"version": *"[^"]*"' "$TEMP_DIR/package/package.json" | grep -o '[0-9][^"]*' > .cursor/.aether-instructions-version
114
124
  ```
115
125
 
116
126
  ---
@@ -130,10 +140,10 @@ rm -rf "$TEMP_DIR"
130
140
  Count what was installed:
131
141
 
132
142
  ```bash
133
- echo "=== Installed ==="
134
- ls .cursor/rules/aether_*.mdc 2>/dev/null | wc -l
135
- ls .cursor/commands/aether_*.md 2>/dev/null | wc -l
136
- ls -d .cursor/skills/aether_*/ 2>/dev/null | wc -l
143
+ wc -l < .cursor/.aether-instructions-manifest
144
+ ls .cursor/rules/*.mdc 2>/dev/null | wc -l
145
+ ls .cursor/commands/*.md 2>/dev/null | wc -l
146
+ ls -d .cursor/skills/*/ 2>/dev/null | wc -l
137
147
  ```
138
148
 
139
149
  Report to user:
@@ -149,11 +159,11 @@ Report to user:
149
159
  Commit the updated instruction files:
150
160
 
151
161
  ```bash
152
- git add .cursor/rules/aether_* .cursor/commands/aether_* .cursor/skills/aether_* .cursor/.aether-instructions-version
153
- git commit -m "Update Aether instructions to vX.Y.Z"
162
+ git add .cursor/rules/ .cursor/commands/ .cursor/skills/ .cursor/.aether-instructions-version .cursor/.aether-instructions-manifest
163
+ git commit -m "Update instructions to vX.Y.Z"
154
164
  ```
155
165
 
156
- > Changes committed. Your Aether instructions are now up to date.
166
+ > Changes committed. Your instructions are now up to date.
157
167
 
158
168
  ---
159
169
 
@@ -169,15 +179,9 @@ If `npm pack` fails with a registry error:
169
179
  If you get permission errors:
170
180
  > Try running with appropriate permissions, or check that `.cursor/` is writable.
171
181
 
172
- ### Want to customize a rule/command?
182
+ ### Want to customize a rule or command?
173
183
 
174
- If you need to modify one of the `aether_*` files:
175
- 1. Copy it to a new name without the `aether_` prefix
176
- 2. Make your changes to the copy
177
- 3. Your copy won't be affected by future updates
178
-
179
- Example:
180
- ```bash
181
- cp .cursor/rules/aether_api.mdc .cursor/rules/api_custom.mdc
182
- # Edit api_custom.mdc as needed
183
- ```
184
+ If you need to modify a package-provided file:
185
+ 1. Edit it directly your changes will persist until the next update
186
+ 2. To preserve changes across updates, copy it to a new name first
187
+ 3. Remove the original's entry from `.cursor/.aether-instructions-manifest` so it won't be deleted on update
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yottagraph-app/aether-instructions",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Cursor rules, commands, and skills for Aether development",
5
5
  "files": [
6
6
  "rules",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes