@jstn-sdk/ma 0.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.
- package/.agents/plugins/marketplace.json +20 -0
- package/.codex/agents/Architect.toml +4 -0
- package/.codex/agents/Auditor.toml +4 -0
- package/.codex/agents/Builder.toml +4 -0
- package/.codex/agents/Flow.toml +4 -0
- package/.codex/agents/Sage.toml +4 -0
- package/.codex/agents/Vibe.toml +4 -0
- package/.codex/hooks.json +15 -0
- package/.codex/prompts/enforcement.md +59 -0
- package/.codex/prompts/onboarding.md +41 -0
- package/.codex/prompts/release-rules.md +28 -0
- package/.codex/prompts/skill-contract.md +41 -0
- package/LICENSE +21 -0
- package/README.md +532 -0
- package/bin/ma.js +300 -0
- package/bin/meta-architect.js +3 -0
- package/docs/README.md +24 -0
- package/docs/assets/meta-architect-logo.png +0 -0
- package/docs/assets/meta-architect-logo.svg +8 -0
- package/docs/getting-started.md +451 -0
- package/docs/mcp-setup.md +5 -0
- package/docs/onboarding.md +65 -0
- package/docs/qa/release-readiness-0.1.0.md +62 -0
- package/docs/release-spec.md +86 -0
- package/docs/skills-publishing.md +231 -0
- package/docs/skills.md +91 -0
- package/index.js +28 -0
- package/mcp/collections.json +21 -0
- package/mcp/fallback.json +7 -0
- package/mcp/servers.json +55 -0
- package/package.json +84 -0
- package/plugins/meta-architect/.app.json +8 -0
- package/plugins/meta-architect/.codex-plugin/plugin.json +23 -0
- package/plugins/meta-architect/.mcp.json +12 -0
- package/plugins/meta-architect/README.md +121 -0
- package/plugins/meta-architect/skills/arch/SKILL.md +27 -0
- package/plugins/meta-architect/skills/arch/agents/openai.yaml +4 -0
- package/plugins/meta-architect/skills/build/SKILL.md +24 -0
- package/plugins/meta-architect/skills/build/agents/openai.yaml +4 -0
- package/plugins/meta-architect/skills/flow/SKILL.md +24 -0
- package/plugins/meta-architect/skills/flow/agents/openai.yaml +4 -0
- package/plugins/meta-architect/skills/meta-architect/SKILL.md +30 -0
- package/plugins/meta-architect/skills/meta-architect/agents/openai.yaml +4 -0
- package/plugins/meta-architect/skills/meta-architect/references/core-release-rules.md +13 -0
- package/plugins/meta-architect/skills/sage/SKILL.md +24 -0
- package/plugins/meta-architect/skills/sage/agents/openai.yaml +4 -0
- package/plugins/meta-architect/skills/vet/SKILL.md +25 -0
- package/plugins/meta-architect/skills/vet/agents/openai.yaml +4 -0
- package/plugins/meta-architect/skills/vibe/SKILL.md +24 -0
- package/plugins/meta-architect/skills/vibe/agents/openai.yaml +4 -0
- package/scripts/doctor.js +37 -0
- package/scripts/plugin-sync.js +92 -0
- package/scripts/postinstall.js +19 -0
- package/scripts/release-metadata.js +94 -0
- package/scripts/release-verify.js +153 -0
- package/scripts/setup-npmrc.js +39 -0
- package/scripts/skills-install.js +29 -0
- package/scripts/skills-manifest.js +61 -0
- package/scripts/skills-pack.js +54 -0
- package/scripts/skills-validate.js +118 -0
- package/skills/arch/SKILL.md +27 -0
- package/skills/arch/agents/openai.yaml +4 -0
- package/skills/build/SKILL.md +24 -0
- package/skills/build/agents/openai.yaml +4 -0
- package/skills/flow/SKILL.md +24 -0
- package/skills/flow/agents/openai.yaml +4 -0
- package/skills/index.json +40 -0
- package/skills/meta-architect/SKILL.md +30 -0
- package/skills/meta-architect/agents/openai.yaml +4 -0
- package/skills/meta-architect/references/core-release-rules.md +13 -0
- package/skills/sage/SKILL.md +24 -0
- package/skills/sage/agents/openai.yaml +4 -0
- package/skills/vet/SKILL.md +25 -0
- package/skills/vet/agents/openai.yaml +4 -0
- package/skills/vibe/SKILL.md +24 -0
- package/skills/vibe/agents/openai.yaml +4 -0
- package/sprint/00-idea.md +27 -0
- package/sprint/01-architecture.md +26 -0
- package/sprint/02-oss-evidence.md +26 -0
- package/sprint/03-logic.md +25 -0
- package/sprint/04-security.md +25 -0
- package/sprint/05-dx-ux.md +24 -0
- package/sprint/06-build-plan.md +26 -0
- package/sprint/07-release.md +26 -0
- package/src/build-gate.js +52 -0
- package/src/decision-log.js +40 -0
- package/src/fs-utils.js +25 -0
- package/src/launcher.js +55 -0
- package/src/mcp-config.js +30 -0
- package/src/mcp-live-client.js +186 -0
- package/src/paths.js +26 -0
- package/src/policy.js +23 -0
- package/src/release-state.js +59 -0
- package/src/runtime-artifacts.js +363 -0
- package/src/skill-installer.js +49 -0
- package/src/skills.js +507 -0
- package/src/state-sync.js +15 -0
package/README.md
ADDED
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="./docs/assets/meta-architect-logo.svg" alt="Meta-Architect logo" width="1024" height="240">
|
|
3
|
+
<p>Production-grade skills package and CLI for programmatic architecture, evidence-backed OSS selection, gate-driven review, and release-minded build unlocking.</p>
|
|
4
|
+
<p>
|
|
5
|
+
<img src="https://img.shields.io/npm/v/%40jstn-sdk%2Fmeta-architect" alt="npm version">
|
|
6
|
+
<img src="https://img.shields.io/badge/node-%3E%3D20-339933" alt="Node.js 20+">
|
|
7
|
+
<img src="https://img.shields.io/github/v/release/JustineDevs/meta-architect" alt="GitHub release">
|
|
8
|
+
<img src="https://img.shields.io/badge/license-MIT-16A34A" alt="MIT License">
|
|
9
|
+
</p>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
> [!IMPORTANT]
|
|
13
|
+
> Meta-Architect `v0.1.0` is a production-grade skills line.
|
|
14
|
+
> It is not a lightweight demo branch.
|
|
15
|
+
> From `v0.1.0` onward, the package is expected to ship with stable skill contracts, deterministic packaging, explicit release gates, and honest install and publish surfaces.
|
|
16
|
+
|
|
17
|
+
## Overview
|
|
18
|
+
|
|
19
|
+
Meta-Architect is a workflow layer for teams that want architecture, evidence, review, and release discipline before build execution.
|
|
20
|
+
|
|
21
|
+
It adds:
|
|
22
|
+
|
|
23
|
+
- an architecture-first lane before implementation
|
|
24
|
+
- evidence-backed OSS selection through GitMCP-connected sources
|
|
25
|
+
- explicit logic, security, and DX/UX review gates
|
|
26
|
+
- installable skills and a reproducible package surface
|
|
27
|
+
|
|
28
|
+
> [!NOTE]
|
|
29
|
+
> Meta-Architect does not replace your coding runtime.
|
|
30
|
+
> It wraps that runtime with architecture, evidence, gate enforcement, and release-sensitive workflow control.
|
|
31
|
+
|
|
32
|
+
<table>
|
|
33
|
+
<tr>
|
|
34
|
+
<td><strong>npm package</strong></td>
|
|
35
|
+
<td><code>@jstn-sdk/ma</code></td>
|
|
36
|
+
</tr>
|
|
37
|
+
<tr>
|
|
38
|
+
<td><strong>CLI commands</strong></td>
|
|
39
|
+
<td><code>ma</code>, <code>meta-architect</code></td>
|
|
40
|
+
</tr>
|
|
41
|
+
<tr>
|
|
42
|
+
<td><strong>Runtime</strong></td>
|
|
43
|
+
<td>Node.js <code>>=20</code>, npm <code>@10</code></td>
|
|
44
|
+
</tr>
|
|
45
|
+
<tr>
|
|
46
|
+
<td><strong>Release line</strong></td>
|
|
47
|
+
<td><code>v0.1.0</code></td>
|
|
48
|
+
</tr>
|
|
49
|
+
<tr>
|
|
50
|
+
<td><strong>License</strong></td>
|
|
51
|
+
<td><a href="./LICENSE">MIT</a></td>
|
|
52
|
+
</tr>
|
|
53
|
+
</table>
|
|
54
|
+
|
|
55
|
+
## Prerequisites
|
|
56
|
+
|
|
57
|
+
- Node.js `>=20`
|
|
58
|
+
- npm `>=10`
|
|
59
|
+
- Git
|
|
60
|
+
- an MCP-capable coding runtime
|
|
61
|
+
- OpenAI Codex CLI for the recommended package-first path
|
|
62
|
+
- macOS, Linux, or WSL2 recommended
|
|
63
|
+
|
|
64
|
+
> [!TIP]
|
|
65
|
+
> The most reliable default environment is a Unix-like shell with Git, Node.js, and an MCP-capable runtime already configured.
|
|
66
|
+
|
|
67
|
+
## Recommended Default Flow
|
|
68
|
+
|
|
69
|
+
Meta-Architect is intended to be consumed as an installed package, not primarily as a git clone.
|
|
70
|
+
|
|
71
|
+
Default operator path:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Install
|
|
75
|
+
npm i -g @openai/codex@latest @jstn-sdk/ma@latest
|
|
76
|
+
|
|
77
|
+
# Launch
|
|
78
|
+
ma --madmax --high
|
|
79
|
+
|
|
80
|
+
# Remove Meta-Architect only
|
|
81
|
+
npm uninstall -g @jstn-sdk/ma
|
|
82
|
+
|
|
83
|
+
# Remove Meta-Architect and Codex
|
|
84
|
+
npm uninstall -g @jstn-sdk/ma @openai/codex
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
What this assumes:
|
|
88
|
+
|
|
89
|
+
- Codex CLI is installed globally
|
|
90
|
+
- Meta-Architect is installed globally as a package
|
|
91
|
+
- Meta-Architect installs its published skill surface into the active Codex home
|
|
92
|
+
- `ma` launches Codex with the Meta-Architect workflow posture already attached
|
|
93
|
+
- you will operate through the skill-driven workflow inside the Codex session
|
|
94
|
+
|
|
95
|
+
> [!IMPORTANT]
|
|
96
|
+
> The recommended default flow is package-first.
|
|
97
|
+
> The git clone path is for contributors and maintainers, not the main user-facing install story.
|
|
98
|
+
|
|
99
|
+
## Repository Branch Strategy
|
|
100
|
+
|
|
101
|
+
Meta-Architect’s repository workflow follows a stricter release posture focused on gated promotion:
|
|
102
|
+
|
|
103
|
+
- `main` = release-facing protected branch
|
|
104
|
+
- `development` = normal integration branch
|
|
105
|
+
- `feature/*` = short-lived contribution branches
|
|
106
|
+
- contributors branch from `development`
|
|
107
|
+
- normal PRs target `development`
|
|
108
|
+
- only curated promotions move `development` into `main`
|
|
109
|
+
|
|
110
|
+
> [!CAUTION]
|
|
111
|
+
> `main` is intended to be protected and exceptional.
|
|
112
|
+
> Maintainers should stop bypass-pushing to `main` except for genuine emergency or admin recovery cases.
|
|
113
|
+
|
|
114
|
+
## Setup
|
|
115
|
+
|
|
116
|
+
### Package setup
|
|
117
|
+
|
|
118
|
+
Install the consumer package directly:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Install
|
|
122
|
+
npm i -g @openai/codex@latest @jstn-sdk/ma@latest
|
|
123
|
+
|
|
124
|
+
# Launch
|
|
125
|
+
ma --madmax --high
|
|
126
|
+
|
|
127
|
+
# Remove Meta-Architect only
|
|
128
|
+
npm uninstall -g @jstn-sdk/ma
|
|
129
|
+
|
|
130
|
+
# Remove Meta-Architect and Codex
|
|
131
|
+
npm uninstall -g @jstn-sdk/ma @openai/codex
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
This gives you:
|
|
135
|
+
|
|
136
|
+
- `ma`
|
|
137
|
+
- `meta-architect`
|
|
138
|
+
- the installed Meta-Architect skill surface
|
|
139
|
+
- the canonical Meta-Architect runtime entrypoints inside a Codex session
|
|
140
|
+
|
|
141
|
+
### Contributor setup: source checkout
|
|
142
|
+
|
|
143
|
+
Use this path only if you want to work on Meta-Architect itself.
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
git clone https://github.com/JustineDevs/meta-architect.git
|
|
147
|
+
cd meta-architect
|
|
148
|
+
npm install
|
|
149
|
+
npm link
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
`npm link` makes `ma` and `meta-architect` available from the local checkout.
|
|
153
|
+
|
|
154
|
+
## Quick Start
|
|
155
|
+
|
|
156
|
+
### 1. Launch the runtime
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
ma --madmax --high
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 2. Start with the real usage-workflow prompt
|
|
163
|
+
|
|
164
|
+
Use the same operator shape defined in [example/usage-workflow.md](./example/usage-workflow.md).
|
|
165
|
+
|
|
166
|
+
Quick-start prompt:
|
|
167
|
+
|
|
168
|
+
```text
|
|
169
|
+
$arch I want to build: [PROJECT IDEA]
|
|
170
|
+
|
|
171
|
+
Context:
|
|
172
|
+
- Product type: [web app / mobile app / API / marketplace / agent system / internal tool]
|
|
173
|
+
- Users: [who will use it]
|
|
174
|
+
- Core problem: [what problem it solves]
|
|
175
|
+
- Main features:
|
|
176
|
+
1. [feature one]
|
|
177
|
+
2. [feature two]
|
|
178
|
+
3. [feature three]
|
|
179
|
+
- Constraints:
|
|
180
|
+
- Budget: [low / medium / high]
|
|
181
|
+
- Team size: [solo / small / medium]
|
|
182
|
+
- Timeline: [e.g. 2 weeks MVP, 3 months beta]
|
|
183
|
+
- Preferred stack: [optional]
|
|
184
|
+
- Avoid: [optional]
|
|
185
|
+
- Quality priorities:
|
|
186
|
+
- [e.g. speed, low cost, security, DX, maintainability, scalability]
|
|
187
|
+
- Deployment target:
|
|
188
|
+
- [Vercel / Docker / VPS / AWS / GCP / local-first / hybrid]
|
|
189
|
+
|
|
190
|
+
Required output:
|
|
191
|
+
1. Problem framing
|
|
192
|
+
2. Recommended architecture
|
|
193
|
+
3. Stack decision with justification
|
|
194
|
+
4. System components and responsibilities
|
|
195
|
+
5. Data model and storage choices
|
|
196
|
+
6. Auth/security considerations
|
|
197
|
+
7. DX/UX considerations
|
|
198
|
+
8. Delivery plan for v0.1.0
|
|
199
|
+
9. Risks and trade-offs
|
|
200
|
+
10. Decision log
|
|
201
|
+
11. Exact next trigger to run after this
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### 3. Run the full trigger sequence inside Codex
|
|
205
|
+
|
|
206
|
+
After `$arch`, continue exactly like the usage workflow:
|
|
207
|
+
|
|
208
|
+
```text
|
|
209
|
+
$sage
|
|
210
|
+
$flow
|
|
211
|
+
$vet
|
|
212
|
+
$vibe
|
|
213
|
+
$build
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
See [example/usage-workflow.md](./example/usage-workflow.md) for the full prompt templates for each step.
|
|
217
|
+
|
|
218
|
+
### 4. Secondary maintenance path
|
|
219
|
+
|
|
220
|
+
If you are working from a repository directly and need scaffolded local support files, use:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
ma setup
|
|
224
|
+
ma
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Expected output for `ma setup`:
|
|
228
|
+
|
|
229
|
+
```text
|
|
230
|
+
meta-architect setup
|
|
231
|
+
====================
|
|
232
|
+
ready: .codex/agents
|
|
233
|
+
ready: .codex/prompts
|
|
234
|
+
ready: .ma/skills
|
|
235
|
+
ready: .ma/evidence
|
|
236
|
+
ready: .ma/context
|
|
237
|
+
ready: .ma/specs
|
|
238
|
+
ready: .ma/plans
|
|
239
|
+
ready: mcp
|
|
240
|
+
ready: docs
|
|
241
|
+
ready: docs/qa
|
|
242
|
+
ready: sprint
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### 5. Configure GitMCP sources
|
|
246
|
+
|
|
247
|
+
Add real repository-backed endpoints in `mcp/servers.json`.
|
|
248
|
+
|
|
249
|
+
Example:
|
|
250
|
+
|
|
251
|
+
```json
|
|
252
|
+
{
|
|
253
|
+
"category": "meta-list",
|
|
254
|
+
"repo": "sindresorhus/awesome",
|
|
255
|
+
"endpoint": "https://gitmcp.io/sindresorhus/awesome"
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Recommended starter endpoints:
|
|
260
|
+
|
|
261
|
+
- `https://gitmcp.io/sindresorhus/awesome`
|
|
262
|
+
- `https://gitmcp.io/dzharii/awesome-typescript`
|
|
263
|
+
- `https://gitmcp.io/sbilly/awesome-security`
|
|
264
|
+
|
|
265
|
+
> [!IMPORTANT]
|
|
266
|
+
> Verified release evidence must come from repository-form GitMCP endpoints such as `https://gitmcp.io/{owner}/{repo}`.
|
|
267
|
+
> A generic documentation endpoint such as `https://gitmcp.io/docs` does not count as VERIFIED evidence for build unlocking.
|
|
268
|
+
|
|
269
|
+
### 6. Secondary helper flow outside Codex
|
|
270
|
+
|
|
271
|
+
If you need scripted repo-local validation rather than the interactive runtime workflow:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
ma idea "Build a real-time collaborative whiteboard for product teams"
|
|
275
|
+
ma run '$arch'
|
|
276
|
+
ma run '$sage'
|
|
277
|
+
ma run '$flow'
|
|
278
|
+
ma run '$vet'
|
|
279
|
+
ma run '$vibe'
|
|
280
|
+
ma status
|
|
281
|
+
ma run '$build'
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Expected status before the helper-path `$build`:
|
|
285
|
+
|
|
286
|
+
```text
|
|
287
|
+
Meta-Architect Status
|
|
288
|
+
=====================
|
|
289
|
+
Idea: CLEAR
|
|
290
|
+
Architecture: APPROVED
|
|
291
|
+
Evidence: VERIFIED
|
|
292
|
+
Logic: GREEN
|
|
293
|
+
Security: GREEN
|
|
294
|
+
Experience: GREEN
|
|
295
|
+
Build: LOCKED
|
|
296
|
+
Next allowed triggers:
|
|
297
|
+
$build
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
Expected helper-path build output:
|
|
301
|
+
|
|
302
|
+
```text
|
|
303
|
+
Build gate is green.
|
|
304
|
+
Suggested branches:
|
|
305
|
+
- feature/ui
|
|
306
|
+
- feature/api
|
|
307
|
+
Optional worktree commands:
|
|
308
|
+
git worktree add ../ui feature/ui
|
|
309
|
+
git worktree add ../api feature/api
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### 7. Simple command guide
|
|
313
|
+
|
|
314
|
+
There are two different ways to use Meta-Architect.
|
|
315
|
+
|
|
316
|
+
1. Terminal commands
|
|
317
|
+
2. In-session skills
|
|
318
|
+
|
|
319
|
+
Terminal commands are normal shell commands you run in the terminal:
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
ma setup
|
|
323
|
+
ma init
|
|
324
|
+
ma idea "Build a product"
|
|
325
|
+
ma status
|
|
326
|
+
ma run '$arch'
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
In-session skills are prompts you use inside the Codex conversation after launch:
|
|
330
|
+
|
|
331
|
+
```text
|
|
332
|
+
$arch
|
|
333
|
+
$sage
|
|
334
|
+
$flow
|
|
335
|
+
$vet
|
|
336
|
+
$vibe
|
|
337
|
+
$build
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
Plain-language difference:
|
|
341
|
+
- `ma ...` = terminal helper commands
|
|
342
|
+
- `$...` = in-session skill prompts
|
|
343
|
+
|
|
344
|
+
What `ma setup` and `ma init` do:
|
|
345
|
+
- both currently do the same thing
|
|
346
|
+
- they create the local support files and folders
|
|
347
|
+
- they prepare `.ma/` runtime files such as context, specs, plans, evidence, and runbook files
|
|
348
|
+
- they do not run the skill workflow by themselves
|
|
349
|
+
|
|
350
|
+
What to use when:
|
|
351
|
+
- use `ma --madmax --high` or `ma` to enter Codex
|
|
352
|
+
- use `$arch -> $sage -> $flow -> $vet -> $vibe -> $build` inside the Codex session
|
|
353
|
+
- use `ma setup` or `ma init` only when you want local scaffolding or scripted helper automation from the terminal
|
|
354
|
+
|
|
355
|
+
## Core Maintainers
|
|
356
|
+
|
|
357
|
+
<table>
|
|
358
|
+
<tr>
|
|
359
|
+
<td><strong>Role</strong></td>
|
|
360
|
+
<td><strong>Name</strong></td>
|
|
361
|
+
<td><strong>GitHub</strong></td>
|
|
362
|
+
</tr>
|
|
363
|
+
<tr>
|
|
364
|
+
<td>Creator / Maintainer</td>
|
|
365
|
+
<td>JustineDevs</td>
|
|
366
|
+
<td><a href="https://github.com/JustineDevs">@JustineDevs</a></td>
|
|
367
|
+
</tr>
|
|
368
|
+
</table>
|
|
369
|
+
|
|
370
|
+
## Core Triggers
|
|
371
|
+
|
|
372
|
+
| Trigger | Purpose | Main output | Gate effect |
|
|
373
|
+
| --- | --- | --- | --- |
|
|
374
|
+
| `$arch` | Produce the first-pass architecture blueprint | decision entry | `architecture_status = APPROVED` |
|
|
375
|
+
| `$sage` | Ground major choices in configured GitMCP evidence | evidence records | `evidence_status = VERIFIED | PARTIAL | MISSING` |
|
|
376
|
+
| `$flow` | Review baseline logic and state transitions | logic review entry | `logic_status = GREEN | RED` |
|
|
377
|
+
| `$vet` | Run baseline security and dependency review | audit and CVE records | `security_status = GREEN | RED` |
|
|
378
|
+
| `$vibe` | Review developer and user experience implications | DX/UX outcome record | `experience_status = GREEN | RED | WAIVED` |
|
|
379
|
+
| `$build` | Unlock bounded build planning | build-ready decision + `.ma/plans/build.md` | `build_status = READY` |
|
|
380
|
+
|
|
381
|
+
## Gate Model
|
|
382
|
+
|
|
383
|
+
Meta-Architect is intentionally fail-closed.
|
|
384
|
+
|
|
385
|
+
| Status | Meaning |
|
|
386
|
+
| --- | --- |
|
|
387
|
+
| `CLEAR` | enough input exists to proceed |
|
|
388
|
+
| `APPROVED` | the architecture lane produced an acceptable first-pass blueprint |
|
|
389
|
+
| `VERIFIED` | live evidence was grounded through approved GitMCP sources |
|
|
390
|
+
| `PARTIAL` | evidence is configured but live proof is incomplete or unavailable |
|
|
391
|
+
| `GREEN` | the current baseline review passed |
|
|
392
|
+
| `RED` | the lane is blocked or failed |
|
|
393
|
+
| `WAIVED` | the lane was intentionally waived with a recorded reason |
|
|
394
|
+
| `LOCKED` | downstream work is not allowed yet |
|
|
395
|
+
| `READY` | the next gated step is allowed |
|
|
396
|
+
|
|
397
|
+
> [!CAUTION]
|
|
398
|
+
> `$build` must stay locked until the upstream release state in `.ma/release.json` satisfies the gate contract.
|
|
399
|
+
> Meta-Architect is designed to stop on blockers rather than silently continue.
|
|
400
|
+
> Rich runtime artifacts live in `.ma/context/`, `.ma/specs/`, `.ma/plans/`, and `.ma/runbook.md`.
|
|
401
|
+
|
|
402
|
+
## Release and Packaging
|
|
403
|
+
|
|
404
|
+
Meta-Architect has two related but different distribution surfaces.
|
|
405
|
+
|
|
406
|
+
| Surface | Purpose | Produced by |
|
|
407
|
+
| --- | --- | --- |
|
|
408
|
+
| npm package | public package containing CLI, docs, scripts, and canonical skills | `npm publish` or `npm pack` |
|
|
409
|
+
| skills bundle | narrower tarball containing `skills/` only | `npm run skills:pack` |
|
|
410
|
+
|
|
411
|
+
Required packaging commands:
|
|
412
|
+
|
|
413
|
+
```bash
|
|
414
|
+
npm run skills:manifest
|
|
415
|
+
npm run skills:validate
|
|
416
|
+
npm run skills:pack
|
|
417
|
+
npm run skills:install -- --path ./dist/installed-skills
|
|
418
|
+
npm run pack:inspect
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
Pre-publish rules:
|
|
422
|
+
|
|
423
|
+
- `skills/index.json` must be current
|
|
424
|
+
- `npm run skills:validate` must pass
|
|
425
|
+
- `dist/meta-architect-skills.tgz` must exist
|
|
426
|
+
- `npm pack --dry-run` must show only intended public files
|
|
427
|
+
- docs must match real CLI and release behavior
|
|
428
|
+
|
|
429
|
+
Release lane discipline:
|
|
430
|
+
- stable versions publish to npm `latest`
|
|
431
|
+
- prerelease versions such as `0.2.0-beta.1` must publish with an explicit dist-tag such as `beta`
|
|
432
|
+
- alternate lanes such as `next`, `beta`, and `canary` must never overwrite `latest`
|
|
433
|
+
|
|
434
|
+
Maintainer version-bump flow:
|
|
435
|
+
1. Bump the package with `npm version <version> --no-git-tag-version`
|
|
436
|
+
2. Update `CHANGELOG.md`, `RELEASE.md`, and `docs/qa/release-readiness-<version>.md`
|
|
437
|
+
3. Run `npm run release:verify`
|
|
438
|
+
4. Run `npm run release:check`
|
|
439
|
+
5. Create and push tag `v<version>`
|
|
440
|
+
6. Preferred publish path: publish from `.github/workflows/npm-publish.yml` on a supported cloud runner so provenance can be generated
|
|
441
|
+
7. Local shell fallback when not publishing from GitHub Actions or GitLab CI/CD:
|
|
442
|
+
- Stable publish: `npm publish --access public`
|
|
443
|
+
- Prerelease publish: `npm publish --access public --tag <lane>`
|
|
444
|
+
8. Verify publish state with `npm view @jstn-sdk/ma version dist-tags time --json`
|
|
445
|
+
|
|
446
|
+
Provenance note:
|
|
447
|
+
- `npm publish --provenance` requires a supported cloud CI/CD provider
|
|
448
|
+
- a local shell publish will fail with `Automatic provenance generation not supported for provider: null`
|
|
449
|
+
- use the repository publish workflow when provenance is required
|
|
450
|
+
|
|
451
|
+
> [!CAUTION]
|
|
452
|
+
> Do not claim npm, GitHub release, or any other publish channel until that channel has actually succeeded.
|
|
453
|
+
> Release documentation must match reality, not intent.
|
|
454
|
+
|
|
455
|
+
## Package Surface
|
|
456
|
+
|
|
457
|
+
<table>
|
|
458
|
+
<tr>
|
|
459
|
+
<td><strong>Included</strong></td>
|
|
460
|
+
<td><code>bin/</code>, <code>skills/</code>, <code>docs/</code>, <code>scripts/</code>, <code>index.js</code>, <code>README.md</code>, <code>LICENSE</code></td>
|
|
461
|
+
</tr>
|
|
462
|
+
<tr>
|
|
463
|
+
<td><strong>Excluded</strong></td>
|
|
464
|
+
<td><code>.ma/</code> runtime state, context, specs, plans, logs, caches, and temp install outputs</td>
|
|
465
|
+
</tr>
|
|
466
|
+
</table>
|
|
467
|
+
|
|
468
|
+
## Repository Structure
|
|
469
|
+
|
|
470
|
+
<table>
|
|
471
|
+
<tr>
|
|
472
|
+
<td><strong>Path</strong></td>
|
|
473
|
+
<td><strong>Responsibility</strong></td>
|
|
474
|
+
</tr>
|
|
475
|
+
<tr>
|
|
476
|
+
<td><code>.codex/</code></td>
|
|
477
|
+
<td>runtime prompts, hooks, and repo guidance</td>
|
|
478
|
+
</tr>
|
|
479
|
+
<tr>
|
|
480
|
+
<td><code>skills/</code></td>
|
|
481
|
+
<td>canonical public skill contracts</td>
|
|
482
|
+
</tr>
|
|
483
|
+
<tr>
|
|
484
|
+
<td><code>plugins/meta-architect/</code></td>
|
|
485
|
+
<td>plugin-oriented distribution surface</td>
|
|
486
|
+
</tr>
|
|
487
|
+
<tr>
|
|
488
|
+
<td><code>docs/</code></td>
|
|
489
|
+
<td>installation, publishing, and release documentation</td>
|
|
490
|
+
</tr>
|
|
491
|
+
<tr>
|
|
492
|
+
<td><code>missions/</code></td>
|
|
493
|
+
<td>reproducible scenario-driven workflows</td>
|
|
494
|
+
</tr>
|
|
495
|
+
<tr>
|
|
496
|
+
<td><code>mcp/</code></td>
|
|
497
|
+
<td>GitMCP endpoint and collection configuration</td>
|
|
498
|
+
</tr>
|
|
499
|
+
<tr>
|
|
500
|
+
<td><code>scripts/</code></td>
|
|
501
|
+
<td>validation, packing, and install helpers</td>
|
|
502
|
+
</tr>
|
|
503
|
+
<tr>
|
|
504
|
+
<td><code>sprint/</code></td>
|
|
505
|
+
<td>human-readable phased workflow documents</td>
|
|
506
|
+
</tr>
|
|
507
|
+
</table>
|
|
508
|
+
|
|
509
|
+
## Documentation
|
|
510
|
+
|
|
511
|
+
| Surface | Purpose |
|
|
512
|
+
| --- | --- |
|
|
513
|
+
| [Getting Started](./docs/getting-started.md) | end-to-end local onboarding |
|
|
514
|
+
| [Skills Reference](./docs/skills.md) | trigger-by-trigger contract guide |
|
|
515
|
+
| [Skills Publishing](./docs/skills-publishing.md) | source-to-package pipeline |
|
|
516
|
+
| [MCP Setup](./docs/mcp-setup.md) | evidence endpoint policy |
|
|
517
|
+
| [Plugin README](./plugins/meta-architect/README.md) | plugin distribution surface |
|
|
518
|
+
| [Collaborative Whiteboard Mission](./missions/collaborative-whiteboard/mission.md) | concrete scenario walkthrough |
|
|
519
|
+
| [Release Spec](./docs/release-spec.md) | release and gate policy |
|
|
520
|
+
| [Release Readiness](./docs/qa/release-readiness-0.1.0.md) | QA evidence for the `v0.1.0` line |
|
|
521
|
+
|
|
522
|
+
## Release Hygiene
|
|
523
|
+
|
|
524
|
+
> [!WARNING]
|
|
525
|
+
> Runtime `.ma` logs, state, tmp, and cache files must not be shipped.
|
|
526
|
+
> Public docs must match actual package behavior.
|
|
527
|
+
> Publish statements must match reality.
|
|
528
|
+
> Skill contracts must stay aligned across canonical and plugin-facing copies.
|
|
529
|
+
|
|
530
|
+
## License
|
|
531
|
+
|
|
532
|
+
[MIT](./LICENSE)
|