synarcx 0.3.4 → 0.3.51
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.
- package/README.md +2 -2
- package/dist/core/templates/workflows/review.js +3 -3
- package/package.json +86 -87
package/README.md
CHANGED
|
@@ -147,7 +147,7 @@ Each step suggests the next — you decide when to advance. Works in Claude Code
|
|
|
147
147
|
- `sync` generates the `constitution.md` — run once, re-run when the project shifts. Also runs a daily version check (prompts to auto-update) and checks for pending spec syncs from recently archived changes.
|
|
148
148
|
- `explore`, `debug`, and `refactor` are entry points that hand off to `propose`
|
|
149
149
|
- `quick` skips the pipeline for small, low-risk changes
|
|
150
|
-
- Run `synarcx update` in your terminal to refresh all
|
|
150
|
+
- Run `synarcx update` in your terminal to refresh all command files after installing a new version
|
|
151
151
|
- `review` is a three-way fork:
|
|
152
152
|
- **Archive now**: auto-syncs delta specs to main spec via `buildUpdatedSpec()`, writes `.pending-sync.json` marker, moves to archive. If spec sync fails, the change is already safely in archive; retry on next sync run.
|
|
153
153
|
- **Add more work**: scope gate reads proposal capabilities + design goals/non-goals. In-scope → update artifacts, MUST `/syn:clarify` then `/syn:apply` then `/syn:review` again (loop). Out-of-scope → offer archive then route to `/syn:propose`.
|
|
@@ -213,7 +213,7 @@ Used in your terminal:
|
|
|
213
213
|
| Command | Description |
|
|
214
214
|
| ------------------- | ------------------------------------------------------------ |
|
|
215
215
|
| `synarcx init` | Set up SynArcX workflow structure in your repository |
|
|
216
|
-
| `synarcx update` | Refresh
|
|
216
|
+
| `synarcx update` | Refresh command files for all configured tools |
|
|
217
217
|
| `synarcx sync` | Regenerate `constitution.md` |
|
|
218
218
|
| `synarcx explore` | Open explore session |
|
|
219
219
|
| `synarcx propose` | Create a structured change proposal |
|
|
@@ -98,7 +98,7 @@ export function getSynReviewSkillTemplate() {
|
|
|
98
98
|
4. **OUT OF SCOPE** (new capability, different concern, violates non-goal):
|
|
99
99
|
- Inform user: "This is outside the current change's scope."
|
|
100
100
|
- Offer: "Archive current change first?" — YES archives with spec sync, NO leaves active
|
|
101
|
-
- Route: "Start a new change with \`/syn:propose\`"
|
|
101
|
+
- Route: "Start a new change with \`/syn:propose\`"
|
|
102
102
|
|
|
103
103
|
**If any checks failed** (dirty):
|
|
104
104
|
|
|
@@ -140,7 +140,7 @@ export function getSynReviewSkillTemplate() {
|
|
|
140
140
|
|
|
141
141
|
e. **Confirm**:
|
|
142
142
|
- "Archived <change-name> to synspec/changes/archive/YYYY-MM-DD-<name>/"
|
|
143
|
-
- If specs were synced: "Specs synced: <capability>: +N ~M"
|
|
143
|
+
- If specs were synced: "Specs synced: <capability>: +N ~M"
|
|
144
144
|
|
|
145
145
|
---
|
|
146
146
|
|
|
@@ -301,7 +301,7 @@ export function getSynReviewCommandTemplate() {
|
|
|
301
301
|
c. Move: \`mv synspec/changes/<name> synspec/changes/archive/YYYY-MM-DD-<name>\`
|
|
302
302
|
d. Sync specs: \`findSpecUpdates(archivePath)\` → \`buildUpdatedSpec()\` → atomic write (\`.tmp\` + rename) → per-capability output
|
|
303
303
|
e. Update marker with \`syncedAt\` timestamp
|
|
304
|
-
f. On failure: archive is already moved, marker stays \`null\`, backstop retries on next sync
|
|
304
|
+
f. On failure: archive is already moved, marker stays \`null\`, backstop retries on next sync
|
|
305
305
|
|
|
306
306
|
---
|
|
307
307
|
|
package/package.json
CHANGED
|
@@ -1,87 +1,86 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "synarcx",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "Structured engineering workflows for AI coding assistants — persistent project memory, spec-driven development, and architecture drift prevention across every session.",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"ai-workflow",
|
|
7
|
-
"claude-code",
|
|
8
|
-
"cursor",
|
|
9
|
-
"opencode",
|
|
10
|
-
"codex",
|
|
11
|
-
"gemini",
|
|
12
|
-
"spec-driven-development",
|
|
13
|
-
"ai-coding-assistant",
|
|
14
|
-
"architecture-drift",
|
|
15
|
-
"persistent-context",
|
|
16
|
-
"engineering-workflow",
|
|
17
|
-
"ai-coding-workflow",
|
|
18
|
-
"specification",
|
|
19
|
-
"claude-code-workflow",
|
|
20
|
-
"ai-context-management"
|
|
21
|
-
],
|
|
22
|
-
"homepage": "https://github.com/funara/synarcx",
|
|
23
|
-
"repository": {
|
|
24
|
-
"type": "git",
|
|
25
|
-
"url": "git+https://github.com/funara/synarcx.git"
|
|
26
|
-
},
|
|
27
|
-
"license": "MIT",
|
|
28
|
-
"author": "Adhi Rahmadian",
|
|
29
|
-
"type": "module",
|
|
30
|
-
"publishConfig": {
|
|
31
|
-
"access": "public"
|
|
32
|
-
},
|
|
33
|
-
"exports": {
|
|
34
|
-
".": {
|
|
35
|
-
"types": "./dist/index.d.ts",
|
|
36
|
-
"default": "./dist/index.js"
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
"bin": {
|
|
40
|
-
"synarcx": "./
|
|
41
|
-
},
|
|
42
|
-
"files": [
|
|
43
|
-
"dist",
|
|
44
|
-
"bin",
|
|
45
|
-
"schemas",
|
|
46
|
-
"scripts/postinstall.js",
|
|
47
|
-
"!dist/**/*.test.js",
|
|
48
|
-
"!dist/**/__tests__",
|
|
49
|
-
"!dist/**/*.map"
|
|
50
|
-
],
|
|
51
|
-
"scripts": {
|
|
52
|
-
"lint": "eslint src/",
|
|
53
|
-
"build": "node build.js",
|
|
54
|
-
"dev": "tsc --watch",
|
|
55
|
-
"dev:cli": "pnpm build && node bin/synarcx.js",
|
|
56
|
-
"test": "vitest run",
|
|
57
|
-
"test:watch": "vitest",
|
|
58
|
-
"test:ui": "vitest --ui",
|
|
59
|
-
"test:coverage": "vitest --coverage",
|
|
60
|
-
"test:postinstall": "node scripts/postinstall.js",
|
|
61
|
-
"prepare": "
|
|
62
|
-
"postinstall": "node scripts/postinstall.js"
|
|
63
|
-
},
|
|
64
|
-
"engines": {
|
|
65
|
-
"node": ">=20.19.0"
|
|
66
|
-
},
|
|
67
|
-
"devDependencies": {
|
|
68
|
-
"@types/node": "^24.2.0",
|
|
69
|
-
"@vitest/ui": "^3.2.4",
|
|
70
|
-
"eslint": "^9.39.2",
|
|
71
|
-
"typescript": "^5.9.3",
|
|
72
|
-
"typescript-eslint": "^8.50.1",
|
|
73
|
-
"vitest": "^3.2.4"
|
|
74
|
-
},
|
|
75
|
-
"dependencies": {
|
|
76
|
-
"@inquirer/core": "^10.2.2",
|
|
77
|
-
"@inquirer/prompts": "^7.8.0",
|
|
78
|
-
"chalk": "^5.5.0",
|
|
79
|
-
"commander": "^14.0.0",
|
|
80
|
-
"cross-spawn": "7.0.6",
|
|
81
|
-
"fast-glob": "^3.3.3",
|
|
82
|
-
"ora": "^8.2.0",
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "synarcx",
|
|
3
|
+
"version": "0.3.51",
|
|
4
|
+
"description": "Structured engineering workflows for AI coding assistants — persistent project memory, spec-driven development, and architecture drift prevention across every session.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai-workflow",
|
|
7
|
+
"claude-code",
|
|
8
|
+
"cursor",
|
|
9
|
+
"opencode",
|
|
10
|
+
"codex",
|
|
11
|
+
"gemini",
|
|
12
|
+
"spec-driven-development",
|
|
13
|
+
"ai-coding-assistant",
|
|
14
|
+
"architecture-drift",
|
|
15
|
+
"persistent-context",
|
|
16
|
+
"engineering-workflow",
|
|
17
|
+
"ai-coding-workflow",
|
|
18
|
+
"specification",
|
|
19
|
+
"claude-code-workflow",
|
|
20
|
+
"ai-context-management"
|
|
21
|
+
],
|
|
22
|
+
"homepage": "https://github.com/funara/synarcx",
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "git+https://github.com/funara/synarcx.git"
|
|
26
|
+
},
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"author": "Adhi Rahmadian",
|
|
29
|
+
"type": "module",
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
},
|
|
33
|
+
"exports": {
|
|
34
|
+
".": {
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"default": "./dist/index.js"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"bin": {
|
|
40
|
+
"synarcx": "./bin/synarcx.js"
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"dist",
|
|
44
|
+
"bin",
|
|
45
|
+
"schemas",
|
|
46
|
+
"scripts/postinstall.js",
|
|
47
|
+
"!dist/**/*.test.js",
|
|
48
|
+
"!dist/**/__tests__",
|
|
49
|
+
"!dist/**/*.map"
|
|
50
|
+
],
|
|
51
|
+
"scripts": {
|
|
52
|
+
"lint": "eslint src/",
|
|
53
|
+
"build": "node build.js",
|
|
54
|
+
"dev": "tsc --watch",
|
|
55
|
+
"dev:cli": "pnpm build && node bin/synarcx.js",
|
|
56
|
+
"test": "vitest run",
|
|
57
|
+
"test:watch": "vitest",
|
|
58
|
+
"test:ui": "vitest --ui",
|
|
59
|
+
"test:coverage": "vitest --coverage",
|
|
60
|
+
"test:postinstall": "node scripts/postinstall.js",
|
|
61
|
+
"prepare": "node build.js",
|
|
62
|
+
"postinstall": "node scripts/postinstall.js"
|
|
63
|
+
},
|
|
64
|
+
"engines": {
|
|
65
|
+
"node": ">=20.19.0"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@types/node": "^24.2.0",
|
|
69
|
+
"@vitest/ui": "^3.2.4",
|
|
70
|
+
"eslint": "^9.39.2",
|
|
71
|
+
"typescript": "^5.9.3",
|
|
72
|
+
"typescript-eslint": "^8.50.1",
|
|
73
|
+
"vitest": "^3.2.4"
|
|
74
|
+
},
|
|
75
|
+
"dependencies": {
|
|
76
|
+
"@inquirer/core": "^10.2.2",
|
|
77
|
+
"@inquirer/prompts": "^7.8.0",
|
|
78
|
+
"chalk": "^5.5.0",
|
|
79
|
+
"commander": "^14.0.0",
|
|
80
|
+
"cross-spawn": "7.0.6",
|
|
81
|
+
"fast-glob": "^3.3.3",
|
|
82
|
+
"ora": "^8.2.0",
|
|
83
|
+
"yaml": "^2.8.2",
|
|
84
|
+
"zod": "^4.0.17"
|
|
85
|
+
}
|
|
86
|
+
}
|