joycraft 0.6.10 → 0.6.12
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 +8 -3
- package/dist/{chunk-W6AHAE7X.js → chunk-GM2T44P6.js} +13 -10
- package/dist/chunk-GM2T44P6.js.map +1 -0
- package/dist/chunk-IELXGWSH.js +21 -0
- package/dist/chunk-IELXGWSH.js.map +1 -0
- package/dist/{chunk-PUYGEBLA.js → chunk-TD65VH2W.js} +5 -3
- package/dist/chunk-TD65VH2W.js.map +1 -0
- package/dist/chunk-VIVJUY6J.js +86 -0
- package/dist/chunk-VIVJUY6J.js.map +1 -0
- package/dist/cli.js +17 -7
- package/dist/cli.js.map +1 -1
- package/dist/{init-PS57M5XM.js → init-YJYJZUZU.js} +19 -41
- package/dist/init-YJYJZUZU.js.map +1 -0
- package/dist/{init-autofix-MQL74RF7.js → init-autofix-4GUVGDXT.js} +3 -3
- package/dist/{upgrade-7E5ZGYHP.js → upgrade-33NLD24D.js} +26 -12
- package/dist/upgrade-33NLD24D.js.map +1 -0
- package/dist/{version-TG3D7QLM.js → version-2FGZETKD.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-P45XNSGK.js +0 -55
- package/dist/chunk-P45XNSGK.js.map +0 -1
- package/dist/chunk-PUYGEBLA.js.map +0 -1
- package/dist/chunk-W6AHAE7X.js.map +0 -1
- package/dist/init-PS57M5XM.js.map +0 -1
- package/dist/upgrade-7E5ZGYHP.js.map +0 -1
- /package/dist/{init-autofix-MQL74RF7.js.map → init-autofix-4GUVGDXT.js.map} +0 -0
- /package/dist/{version-TG3D7QLM.js.map → version-2FGZETKD.js.map} +0 -0
package/README.md
CHANGED
|
@@ -53,6 +53,8 @@ Each spec runs in **one fresh OS process** (`pi -p`), so the context isolation i
|
|
|
53
53
|
|
|
54
54
|
This is what Claude Code and Codex can't do out of the box: an unattended `interview → PR` line where the machine does everything convergent in between. It is Pi-specific by design — the driver targets Pi with a BYO API key or open-weight model (Commercial/API terms, no automation restriction); pointing a consumer Claude/ChatGPT *subscription* at an automated loop would violate those tools' terms.
|
|
55
55
|
|
|
56
|
+
On Claude Code, `/joycraft-implement-feature` gets you the in-session equivalent: one interactive invocation runs the whole queue with a fresh-context **subagent** per spec — the subagent boundary plays the role of Pi's process boundary. You're at the keyboard and it's one command, so none of the headless ToS/cost caveats apply.
|
|
57
|
+
|
|
56
58
|
## Quick Start
|
|
57
59
|
|
|
58
60
|
First, install the CLI:
|
|
@@ -72,7 +74,7 @@ Joycraft auto-detects your tech stack and creates:
|
|
|
72
74
|
|
|
73
75
|
- **CLAUDE.md** with behavioral boundaries (Always / Ask First / Never) and correct build/test/lint commands
|
|
74
76
|
- **AGENTS.md** for Codex compatibility
|
|
75
|
-
- **
|
|
77
|
+
- **20 skills** installed to `.claude/skills/` (Claude Code), `.agents/skills/` (Codex), and `.pi/skills/` (Pi) — see [Which skill do I need?](#which-skill-do-i-need) below
|
|
76
78
|
- **Pi pipeline runtime** in `.pi/scripts/joycraft/` (when `.pi/` is present) — the headless spec-execution driver and its helpers
|
|
77
79
|
- **docs/** structure: `docs/context/` is created up front; feature work lands in `docs/features/<slug>/{brief.md, research.md, design.md, specs/}` and deferred work in `docs/backlog/` — these are created lazily by the skills that write to them
|
|
78
80
|
- **Context documents** in `docs/context/`: production map, dangerous assumptions, decision log, institutional knowledge, and troubleshooting guide
|
|
@@ -90,7 +92,9 @@ npx joycraft init --gitignore=private # gitignore them; track only CLAUDE.md,
|
|
|
90
92
|
```
|
|
91
93
|
|
|
92
94
|
Run interactively without the flag and `init` will ask. The choice is saved, so
|
|
93
|
-
`npx joycraft upgrade` re-applies it automatically.
|
|
95
|
+
`npx joycraft upgrade` re-applies it automatically. To switch an existing
|
|
96
|
+
project later (or decide from CI), pass the same flag to upgrade:
|
|
97
|
+
`npx joycraft upgrade --gitignore=private`. `.gitignore` edits are
|
|
94
98
|
append-only — Joycraft never rewrites or removes your existing lines.
|
|
95
99
|
|
|
96
100
|
| Profile | Tracked in git | Gitignored |
|
|
@@ -121,7 +125,8 @@ Frameworks auto-detected: Next.js, FastAPI, Django, Flask, Actix, Axum, Express,
|
|
|
121
125
|
| Align on approach before writing code | `/joycraft-design` | Design discussion → ~200-line artifact for human review |
|
|
122
126
|
| Break a feature into small, independent tasks | `/joycraft-decompose` | Feature Brief → testable Atomic Specs |
|
|
123
127
|
| Fix a bug with a structured workflow | `/joycraft-bugfix` | Reproduce → isolate → fix → verify loop |
|
|
124
|
-
| Implement a spec with TDD | `/joycraft-implement` | Read spec →
|
|
128
|
+
| Implement a spec with TDD | `/joycraft-implement` | Read spec → failing tests → implement until green → wrap up → continue the queue |
|
|
129
|
+
| Run a feature's whole spec queue from one command | `/joycraft-implement-feature` | Fresh-context subagent per spec → fail-fast → session-end once |
|
|
125
130
|
| Run specs autonomously without hand-holding | `/joycraft-implement-level5` | Autofix loop + holdout scenario testing |
|
|
126
131
|
| Verify an implementation independently | `/joycraft-verify` | Read-only subagent checks work against the spec |
|
|
127
132
|
| Set up Joycraft for a team | `/joycraft-collaborative-setup` | Scaffold `docs/areas/`, owner conventions, a team CONTRIBUTING doc |
|