synarcx 0.3.1 → 0.3.2
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 +297 -296
- package/dist/core/migration.js +5 -5
- package/dist/core/shared/skill-generation.js +12 -12
- package/dist/core/templates/workflows/debug.js +20 -3
- package/dist/core/templates/workflows/refactor.js +58 -5
- package/dist/core/templates/workflows/review.js +273 -273
- package/dist/core/update.d.ts +7 -0
- package/dist/core/update.js +28 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,296 +1,297 @@
|
|
|
1
|
-
# SynArcX
|
|
2
|
-
|
|
3
|
-
  
|
|
4
|
-
|
|
5
|
-
> Structured engineering workflows for AI coding assistants — persistent project memory, spec-driven development, and architecture drift prevention across every session.
|
|
6
|
-
|
|
7
|
-
Works with **Claude Code, Cursor, GitHub Copilot, Cline, Windsurf, Codex**, and more AI coding tools.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## The Problem: Architecture Drift in AI-Assisted Development
|
|
12
|
-
|
|
13
|
-
AI coding assistants like Claude Code and Cursor lose context fast. Requirements live in chat history. Architecture decisions vanish between sessions. Generated code drifts from design intent.
|
|
14
|
-
|
|
15
|
-
Without an explicit workflow, AI-generated code gradually drifts from your architecture — each session introduces small misalignments that compound into structural debt. This is architecture drift, and it gets worse the longer the project runs.
|
|
16
|
-
|
|
17
|
-
SynArcX fixes this by adding a lightweight spec layer between you and your AI — so both you and the assistant agree on what to build before any code is written.
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Why Not Just Prompt Better?
|
|
22
|
-
|
|
23
|
-
Better prompts help, but they don't survive session resets, tool switches, or team handoffs. Every new session starts cold. Every new contributor re-explains the same constraints.
|
|
24
|
-
|
|
25
|
-
SynArcX makes your engineering decisions durable. The `constitution.md` is always there. The specs don't live in someone's chat history.
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Why Not Just Use Another Spec Format?
|
|
30
|
-
|
|
31
|
-
Spec formats describe *what* to build.
|
|
32
|
-
|
|
33
|
-
SynArcX structures *how you get there* from exploration to proposal to implementation, and helps keep AI-generated changes aligned with the evolving codebase at every stage, not just at planning time.
|
|
34
|
-
|
|
35
|
-
If you already have markdown specs in your repo, `/syn:sync` will incorporate them into the `constitution.md`.
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## What Happens If You Ignore SynArcX?
|
|
40
|
-
|
|
41
|
-
Nothing breaks immediately. That's the problem.
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
Week 1 AI reads the codebase, builds the feature correctly.
|
|
45
|
-
|
|
46
|
-
Week 3 New session. AI re-derives context from code alone.
|
|
47
|
-
Small assumptions diverge from your actual design.
|
|
48
|
-
|
|
49
|
-
Week 6 Three sessions in. The auth module now does things
|
|
50
|
-
no spec ever said it should. The AI was "helpful."
|
|
51
|
-
|
|
52
|
-
Week 10 You're untangling AI-introduced architecture violations
|
|
53
|
-
instead of shipping features. The specs live in a chat
|
|
54
|
-
log nobody can find.
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
SynArcX makes the spec the source of truth, not the chat history.
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## Install
|
|
62
|
-
|
|
63
|
-
Requires **Node.js 20+**
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
npm install -g synarcx
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
pnpm add -g synarcx
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
Verify:
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
synarcx --help
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## Quick Start
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
cd your-project
|
|
85
|
-
synarcx init
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Then in your AI coding tool:
|
|
89
|
-
|
|
90
|
-
1. `/syn:sync` — scan the project and generate the `constitution.md` (persistent project memory)
|
|
91
|
-
2. `/syn:explore "your idea"` — think through the problem with your AI
|
|
92
|
-
3. `/syn:propose "my-feature"` — create proposal, specs, design, and tasks in one step
|
|
93
|
-
4. `/syn:clarify` — sharpen artifacts with targeted questions + auto consistency check
|
|
94
|
-
5. `/syn:apply` — implement the tasks
|
|
95
|
-
6. `/syn:review` — verify implementation, run sanity checks, and archive when clean
|
|
96
|
-
|
|
97
|
-
For specific cases, use these instead of `/syn:explore`:
|
|
98
|
-
|
|
99
|
-
* For bugs: use `/syn:debug`.
|
|
100
|
-
* For structural improvements: use `/syn:refactor`.
|
|
101
|
-
* For small low-risk changes (typos, config tweaks): use `/syn:quick` with no artifacts, just apply.
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## How It Works: Spec-Driven AI Coding Workflow
|
|
106
|
-
|
|
107
|
-
**Without SynArcX, development drift compounds silently:**
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
Session 1 ──► Session 2 ──► Session 3 ──► Session N
|
|
111
|
-
✓ correct ~ close ✗ diverged ✗✗ structural debt
|
|
112
|
-
(nobody noticed)
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
**With SynArcX — alignment is maintained explicitly:**
|
|
116
|
-
|
|
117
|
-
```
|
|
118
|
-
Session 1 ──► constitution.md ──► Session 2 ──► constitution.md ──► Session N
|
|
119
|
-
✓ correct (updated) ✓ correct (updated) ✓ correct
|
|
120
|
-
|
|
121
|
-
specs · architecture · intent preserved across every reset
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
**The workflow:**
|
|
127
|
-
|
|
128
|
-
```
|
|
129
|
-
sync ─────────────────────────────────────► constitution
|
|
130
|
-
|
|
131
|
-
explore ──┐
|
|
132
|
-
debug ──┤
|
|
133
|
-
├──► propose ──► clarify ──► apply ──► review
|
|
134
|
-
│ └── (auto-analyze) ──┘
|
|
135
|
-
refactor ──┘
|
|
136
|
-
|
|
137
|
-
quick ───────────────────────────────────────────► apply
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
Each step suggests the next — you decide when to advance. Works in Claude Code, Cursor, Cline, and any AI coding tool that supports slash commands.
|
|
141
|
-
|
|
142
|
-
- `sync` generates the `constitution.md` — run once, re-run when the project shifts. Also runs a daily version check: if a newer synarcx is available, prompts to auto-update inline.
|
|
143
|
-
- `explore`, `debug`, and `refactor` are entry points that hand off to `propose`
|
|
144
|
-
- `quick` skips the pipeline for small, low-risk changes
|
|
145
|
-
|
|
146
|
-
Each change gets its own folder under `synspec/changes/` with:
|
|
147
|
-
|
|
148
|
-
```
|
|
149
|
-
synspec/changes/my-feature/
|
|
150
|
-
├── proposal.md # what and why
|
|
151
|
-
├── design.md # how to build it
|
|
152
|
-
├── tasks.md # implementation checklist
|
|
153
|
-
└── specs/
|
|
154
|
-
└── *.md # what the system shall do
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### Persistent Project Memory
|
|
158
|
-
|
|
159
|
-
`constitution.md` is the core of SynArcX. Generated by `/syn:sync`, it preserves architectural intent, conventions, constraints, and engineering decisions across AI sessions — keeping specifications, architecture, and implementation in sync.
|
|
160
|
-
|
|
161
|
-
Unlike documentation, the constitution is optimized for AI operational context — not human reading.
|
|
162
|
-
|
|
163
|
-
A typical `constitution.md` includes:
|
|
164
|
-
|
|
165
|
-
```markdown
|
|
166
|
-
## Architecture Principles
|
|
167
|
-
- All API routes are RESTful, no GraphQL
|
|
168
|
-
- Business logic lives in /services, not controllers
|
|
169
|
-
|
|
170
|
-
## Module Boundaries
|
|
171
|
-
- auth/ owns all token lifecycle — nothing else touches JWTs
|
|
172
|
-
|
|
173
|
-
## Known Pitfalls
|
|
174
|
-
- DB migrations must be backwards-compatible (rolling deploys)
|
|
175
|
-
|
|
176
|
-
## Coding Patterns
|
|
177
|
-
- Use Result<T, E> for fallible operations, never throw in services
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## Commands
|
|
183
|
-
|
|
184
|
-
Used inside your AI coding tool (Claude Code, Cursor, Cline, etc.):
|
|
185
|
-
|
|
186
|
-
| Command | Description |
|
|
187
|
-
| ----------------- | ------------------------------------------------------------------------ |
|
|
188
|
-
| `/syn:sync` | Scan project, run guardrail Q&A, generate/update `constitution.md`. Auto-checks for synarcx updates once daily. |
|
|
189
|
-
| `/syn:explore` | Think through ideas, investigate problems, clarify requirements |
|
|
190
|
-
| `/syn:debug` | Diagnose a known error (3-phase analysis), then prompts `/syn:propose` |
|
|
191
|
-
| `/syn:refactor` | Map current vs target structure, then prompts `/syn:propose` |
|
|
192
|
-
| `/syn:quick` | Fast-path for small low-risk changes — inline preview, confirm, apply |
|
|
193
|
-
| `/syn:propose` | Create a new change with proposal, specs, design, and tasks |
|
|
194
|
-
| `/syn:clarify` | Targeted Q&A (adaptive limit) + auto consistency checks in one command |
|
|
195
|
-
| `/syn:analyze` | Standalone cross-artifact consistency check (auto-run by clarify) |
|
|
196
|
-
| `/syn:apply` | Implement tasks from a change's task list |
|
|
197
|
-
| `/syn:review` | Verify implementation, run sanity checks, and archive when clean |
|
|
198
|
-
|
|
199
|
-
### CLI Commands
|
|
200
|
-
|
|
201
|
-
Used in your terminal:
|
|
202
|
-
|
|
203
|
-
| Command | Description |
|
|
204
|
-
| ------------------- | ------------------------------------------------------- |
|
|
205
|
-
| `synarcx init` | Set up SynArcX workflow structure in your repository |
|
|
206
|
-
| `synarcx
|
|
207
|
-
| `synarcx
|
|
208
|
-
| `synarcx
|
|
209
|
-
| `synarcx
|
|
210
|
-
| `synarcx
|
|
211
|
-
| `synarcx
|
|
212
|
-
| `synarcx
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
|
223
|
-
|
|
|
224
|
-
| `
|
|
225
|
-
| `
|
|
226
|
-
| `
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
|
237
|
-
|
|
|
238
|
-
|
|
|
239
|
-
|
|
|
240
|
-
|
|
|
241
|
-
|
|
|
242
|
-
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
- long-running
|
|
257
|
-
|
|
258
|
-
-
|
|
259
|
-
-
|
|
260
|
-
-
|
|
261
|
-
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
-
|
|
274
|
-
-
|
|
275
|
-
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
pnpm
|
|
286
|
-
pnpm
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
1
|
+
# SynArcX
|
|
2
|
+
|
|
3
|
+
  
|
|
4
|
+
|
|
5
|
+
> Structured engineering workflows for AI coding assistants — persistent project memory, spec-driven development, and architecture drift prevention across every session.
|
|
6
|
+
|
|
7
|
+
Works with **Claude Code, Cursor, GitHub Copilot, Cline, Windsurf, Codex**, and more AI coding tools.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## The Problem: Architecture Drift in AI-Assisted Development
|
|
12
|
+
|
|
13
|
+
AI coding assistants like Claude Code and Cursor lose context fast. Requirements live in chat history. Architecture decisions vanish between sessions. Generated code drifts from design intent.
|
|
14
|
+
|
|
15
|
+
Without an explicit workflow, AI-generated code gradually drifts from your architecture — each session introduces small misalignments that compound into structural debt. This is architecture drift, and it gets worse the longer the project runs.
|
|
16
|
+
|
|
17
|
+
SynArcX fixes this by adding a lightweight spec layer between you and your AI — so both you and the assistant agree on what to build before any code is written.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Why Not Just Prompt Better?
|
|
22
|
+
|
|
23
|
+
Better prompts help, but they don't survive session resets, tool switches, or team handoffs. Every new session starts cold. Every new contributor re-explains the same constraints.
|
|
24
|
+
|
|
25
|
+
SynArcX makes your engineering decisions durable. The `constitution.md` is always there. The specs don't live in someone's chat history.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Why Not Just Use Another Spec Format?
|
|
30
|
+
|
|
31
|
+
Spec formats describe *what* to build.
|
|
32
|
+
|
|
33
|
+
SynArcX structures *how you get there* from exploration to proposal to implementation, and helps keep AI-generated changes aligned with the evolving codebase at every stage, not just at planning time.
|
|
34
|
+
|
|
35
|
+
If you already have markdown specs in your repo, `/syn:sync` will incorporate them into the `constitution.md`.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## What Happens If You Ignore SynArcX?
|
|
40
|
+
|
|
41
|
+
Nothing breaks immediately. That's the problem.
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
Week 1 AI reads the codebase, builds the feature correctly.
|
|
45
|
+
|
|
46
|
+
Week 3 New session. AI re-derives context from code alone.
|
|
47
|
+
Small assumptions diverge from your actual design.
|
|
48
|
+
|
|
49
|
+
Week 6 Three sessions in. The auth module now does things
|
|
50
|
+
no spec ever said it should. The AI was "helpful."
|
|
51
|
+
|
|
52
|
+
Week 10 You're untangling AI-introduced architecture violations
|
|
53
|
+
instead of shipping features. The specs live in a chat
|
|
54
|
+
log nobody can find.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
SynArcX makes the spec the source of truth, not the chat history.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Install
|
|
62
|
+
|
|
63
|
+
Requires **Node.js 20+**
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npm install -g synarcx
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pnpm add -g synarcx
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Verify:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
synarcx --help
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Quick Start
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
cd your-project
|
|
85
|
+
synarcx init
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Then in your AI coding tool:
|
|
89
|
+
|
|
90
|
+
1. `/syn:sync` — scan the project and generate the `constitution.md` (persistent project memory)
|
|
91
|
+
2. `/syn:explore "your idea"` — think through the problem with your AI
|
|
92
|
+
3. `/syn:propose "my-feature"` — create proposal, specs, design, and tasks in one step
|
|
93
|
+
4. `/syn:clarify` — sharpen artifacts with targeted questions + auto consistency check
|
|
94
|
+
5. `/syn:apply` — implement the tasks
|
|
95
|
+
6. `/syn:review` — verify implementation, run sanity checks, and archive when clean
|
|
96
|
+
|
|
97
|
+
For specific cases, use these instead of `/syn:explore`:
|
|
98
|
+
|
|
99
|
+
* For bugs: use `/syn:debug`.
|
|
100
|
+
* For structural improvements: use `/syn:refactor`.
|
|
101
|
+
* For small low-risk changes (typos, config tweaks): use `/syn:quick` with no artifacts, just apply.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## How It Works: Spec-Driven AI Coding Workflow
|
|
106
|
+
|
|
107
|
+
**Without SynArcX, development drift compounds silently:**
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
Session 1 ──► Session 2 ──► Session 3 ──► Session N
|
|
111
|
+
✓ correct ~ close ✗ diverged ✗✗ structural debt
|
|
112
|
+
(nobody noticed)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**With SynArcX — alignment is maintained explicitly:**
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
Session 1 ──► constitution.md ──► Session 2 ──► constitution.md ──► Session N
|
|
119
|
+
✓ correct (updated) ✓ correct (updated) ✓ correct
|
|
120
|
+
|
|
121
|
+
specs · architecture · intent preserved across every reset
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
**The workflow:**
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
sync ─────────────────────────────────────► constitution
|
|
130
|
+
|
|
131
|
+
explore ──┐
|
|
132
|
+
debug ──┤
|
|
133
|
+
├──► propose ──► clarify ──► apply ──► review
|
|
134
|
+
│ └── (auto-analyze) ──┘
|
|
135
|
+
refactor ──┘
|
|
136
|
+
|
|
137
|
+
quick ───────────────────────────────────────────► apply
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Each step suggests the next — you decide when to advance. Works in Claude Code, Cursor, Cline, and any AI coding tool that supports slash commands.
|
|
141
|
+
|
|
142
|
+
- `sync` generates the `constitution.md` — run once, re-run when the project shifts. Also runs a daily version check: if a newer synarcx is available, prompts to auto-update inline.
|
|
143
|
+
- `explore`, `debug`, and `refactor` are entry points that hand off to `propose`
|
|
144
|
+
- `quick` skips the pipeline for small, low-risk changes
|
|
145
|
+
|
|
146
|
+
Each change gets its own folder under `synspec/changes/` with:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
synspec/changes/my-feature/
|
|
150
|
+
├── proposal.md # what and why
|
|
151
|
+
├── design.md # how to build it
|
|
152
|
+
├── tasks.md # implementation checklist
|
|
153
|
+
└── specs/
|
|
154
|
+
└── *.md # what the system shall do
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Persistent Project Memory
|
|
158
|
+
|
|
159
|
+
`constitution.md` is the core of SynArcX. Generated by `/syn:sync`, it preserves architectural intent, conventions, constraints, and engineering decisions across AI sessions — keeping specifications, architecture, and implementation in sync.
|
|
160
|
+
|
|
161
|
+
Unlike documentation, the constitution is optimized for AI operational context — not human reading.
|
|
162
|
+
|
|
163
|
+
A typical `constitution.md` includes:
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
## Architecture Principles
|
|
167
|
+
- All API routes are RESTful, no GraphQL
|
|
168
|
+
- Business logic lives in /services, not controllers
|
|
169
|
+
|
|
170
|
+
## Module Boundaries
|
|
171
|
+
- auth/ owns all token lifecycle — nothing else touches JWTs
|
|
172
|
+
|
|
173
|
+
## Known Pitfalls
|
|
174
|
+
- DB migrations must be backwards-compatible (rolling deploys)
|
|
175
|
+
|
|
176
|
+
## Coding Patterns
|
|
177
|
+
- Use Result<T, E> for fallible operations, never throw in services
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Commands
|
|
183
|
+
|
|
184
|
+
Used inside your AI coding tool (Claude Code, Cursor, Cline, etc.):
|
|
185
|
+
|
|
186
|
+
| Command | Description |
|
|
187
|
+
| ----------------- | ------------------------------------------------------------------------ |
|
|
188
|
+
| `/syn:sync` | Scan project, run guardrail Q&A, generate/update `constitution.md`. Auto-checks for synarcx updates once daily. |
|
|
189
|
+
| `/syn:explore` | Think through ideas, investigate problems, clarify requirements |
|
|
190
|
+
| `/syn:debug` | Diagnose a known error (3-phase analysis), then prompts `/syn:propose` |
|
|
191
|
+
| `/syn:refactor` | Map current vs target structure, then prompts `/syn:propose` |
|
|
192
|
+
| `/syn:quick` | Fast-path for small low-risk changes — inline preview, confirm, apply |
|
|
193
|
+
| `/syn:propose` | Create a new change with proposal, specs, design, and tasks |
|
|
194
|
+
| `/syn:clarify` | Targeted Q&A (adaptive limit) + auto consistency checks in one command |
|
|
195
|
+
| `/syn:analyze` | Standalone cross-artifact consistency check (auto-run by clarify) |
|
|
196
|
+
| `/syn:apply` | Implement tasks from a change's task list |
|
|
197
|
+
| `/syn:review` | Verify implementation, run sanity checks, and archive when clean |
|
|
198
|
+
|
|
199
|
+
### CLI Commands
|
|
200
|
+
|
|
201
|
+
Used in your terminal:
|
|
202
|
+
|
|
203
|
+
| Command | Description |
|
|
204
|
+
| ------------------- | ------------------------------------------------------- |
|
|
205
|
+
| `synarcx init` | Set up SynArcX workflow structure in your repository |
|
|
206
|
+
| `synarcx update` | Refresh skill and command files for all configured tools |
|
|
207
|
+
| `synarcx sync` | Regenerate `constitution.md` |
|
|
208
|
+
| `synarcx explore` | Open explore session |
|
|
209
|
+
| `synarcx propose` | Create a structured change proposal |
|
|
210
|
+
| `synarcx clarify` | Targeted Q&A (adaptive limit) + auto consistency checks |
|
|
211
|
+
| `synarcx analyze` | Cross-artifact consistency check (standalone) |
|
|
212
|
+
| `synarcx apply` | Execute implementation tasks |
|
|
213
|
+
| `synarcx review` | Verify implementation, run sanity checks, archive when clean |
|
|
214
|
+
| `synarcx quick` | Fast-path execution for small changes |
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Artifacts
|
|
219
|
+
|
|
220
|
+
Each workflow stage produces explicit, reviewable files:
|
|
221
|
+
|
|
222
|
+
| Artifact | Purpose |
|
|
223
|
+
| ------------------- | -------------------------------------------------- |
|
|
224
|
+
| `proposal.md` | Problem framing : what, why, and scope |
|
|
225
|
+
| `specs/*.md` | Clarified requirements : what the system shall do |
|
|
226
|
+
| `design.md` | Architectural reasoning : how to build it |
|
|
227
|
+
| `tasks.md` | Implementation checklist |
|
|
228
|
+
| `constitution.md` | Persistent project memory for AI agents |
|
|
229
|
+
|
|
230
|
+
Artifacts create a traceable chain from requirements → reasoning → implementation → architecture decisions.
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## SynArcX vs. Unstructured AI Coding
|
|
235
|
+
|
|
236
|
+
| Capability | AI Coding Without SynArcX | With SynArcX |
|
|
237
|
+
| ------------------------------------- | ------------------------- | ------------------------------------ |
|
|
238
|
+
| Persistent engineering memory | Lost between sessions | Preserved in `constitution.md` |
|
|
239
|
+
| Structured specification flow | Informal, chat-based | Explicit staged workflow |
|
|
240
|
+
| Architecture-aware changes | Inconsistent | Built into every step |
|
|
241
|
+
| Artifact traceability | None | Proposal → spec → design → tasks |
|
|
242
|
+
| Session continuity | Weak | Persistent across tools and sessions |
|
|
243
|
+
| Structured, traceable workflow stages | Rare | Core design |
|
|
244
|
+
| Low-risk fast path | Manual | `/syn:quick` |
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Supported AI Coding Tools
|
|
249
|
+
|
|
250
|
+
SynArcX works with Claude Code, Cursor, GitHub Copilot, Cline, Windsurf, Codex, Gemini, OpenCode, and more. Slash commands are generated per tool on `synarcx init` — each tool gets its own command syntax automatically.
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Built for AI-Assisted Software Engineering Teams
|
|
255
|
+
|
|
256
|
+
SynArcX is evolving toward an architecture-aware workflow system for long-running AI-assisted software engineering. It is designed for:
|
|
257
|
+
|
|
258
|
+
- long-running projects with evolving requirements
|
|
259
|
+
- architecture-sensitive systems where drift is costly
|
|
260
|
+
- AI-assisted engineering teams
|
|
261
|
+
- spec-driven development practices
|
|
262
|
+
- multi-session and multi-tool workflows
|
|
263
|
+
- controlled implementation pipelines
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Status
|
|
268
|
+
|
|
269
|
+
**v0.3.x** — `syn:review` added as the terminal quality gate (verify implementation, run sanity checks, three-way fork: archive, add work, or start fresh); seamless upgrade from v0.2.x (auto-migrates to `core` profile so new commands appear without any manual steps); clarify+analyze merged, adaptive Q&A limit, quick command, debug/refactor guardrail alignment
|
|
270
|
+
|
|
271
|
+
Active development roadmap:
|
|
272
|
+
|
|
273
|
+
- stronger repository cognition
|
|
274
|
+
- architecture-aware execution validation
|
|
275
|
+
- context continuity across tool switches
|
|
276
|
+
- structured, traceable AI engineering pipelines
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Development
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
git clone https://github.com/funara/synarcx
|
|
284
|
+
cd synarcx
|
|
285
|
+
pnpm install
|
|
286
|
+
pnpm build
|
|
287
|
+
pnpm link --global
|
|
288
|
+
|
|
289
|
+
# rebuild after edits:
|
|
290
|
+
pnpm build
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## License
|
|
296
|
+
|
|
297
|
+
MIT
|
package/dist/core/migration.js
CHANGED
|
@@ -94,14 +94,14 @@ export function migrateIfNeeded(projectPath, tools) {
|
|
|
94
94
|
// No workflows installed, new user — defaults will apply
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
|
-
// Migrate: set
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
// Migrate: pre-profile users had the full installed set — that maps to 'core'.
|
|
98
|
+
// Setting 'core' means they automatically receive every future new command
|
|
99
|
+
// (e.g. 'review', and anything added later) without any manual steps.
|
|
100
|
+
config.profile = 'core';
|
|
100
101
|
if (rawConfig.delivery === undefined) {
|
|
101
102
|
config.delivery = inferDelivery(artifacts);
|
|
102
103
|
}
|
|
103
104
|
saveGlobalConfig(config);
|
|
104
|
-
console.log(`Migrated
|
|
105
|
-
console.log("New in this version: /syn:propose. Try 'synarcx config profile core' for the streamlined experience.");
|
|
105
|
+
console.log(`Migrated to core profile — you'll receive all future commands automatically.`);
|
|
106
106
|
}
|
|
107
107
|
//# sourceMappingURL=migration.js.map
|
|
@@ -77,18 +77,18 @@ export function generateSkillContent(template, generatedByVersion, transformInst
|
|
|
77
77
|
const instructions = transformInstructions
|
|
78
78
|
? transformInstructions(template.instructions)
|
|
79
79
|
: template.instructions;
|
|
80
|
-
return `---
|
|
81
|
-
name: ${template.name}
|
|
82
|
-
description: ${template.description}
|
|
83
|
-
license: ${template.license || 'MIT'}
|
|
84
|
-
compatibility: ${template.compatibility || 'Requires synarcx CLI.'}
|
|
85
|
-
metadata:
|
|
86
|
-
author: ${template.metadata?.author || 'synarcx'}
|
|
87
|
-
version: "${template.metadata?.version || '1.0'}"
|
|
88
|
-
generatedBy: "${generatedByVersion}"
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
${instructions}
|
|
80
|
+
return `---
|
|
81
|
+
name: ${template.name}
|
|
82
|
+
description: ${template.description}
|
|
83
|
+
license: ${template.license || 'MIT'}
|
|
84
|
+
compatibility: ${template.compatibility || 'Requires synarcx CLI.'}
|
|
85
|
+
metadata:
|
|
86
|
+
author: ${template.metadata?.author || 'synarcx'}
|
|
87
|
+
version: "${template.metadata?.version || '1.0'}"
|
|
88
|
+
generatedBy: "${generatedByVersion}"
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
${instructions}
|
|
92
92
|
`;
|
|
93
93
|
}
|
|
94
94
|
//# sourceMappingURL=skill-generation.js.map
|