create-issflow 1.8.0 → 1.8.1
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/bin/cli.js +25 -30
- package/package.json +1 -1
- package/template/.claude/README.md +33 -0
- package/template/.claude/istartsoft-flow/METHODOLOGY.md +26 -21
package/bin/cli.js
CHANGED
|
@@ -201,22 +201,28 @@ const NEXT_STEPS = {
|
|
|
201
201
|
function agentsMd() {
|
|
202
202
|
return [
|
|
203
203
|
'# AGENTS.md — iStartSoftFlow', '',
|
|
204
|
-
'This repo runs the **iStartSoftFlow** agentic dev workflow.
|
|
205
|
-
'tool-agnostic methodology —
|
|
206
|
-
'rules — lives in ONE
|
|
204
|
+
'This repo runs the **iStartSoftFlow** agentic dev workflow.', '',
|
|
205
|
+
'**Primary entry (this file).** The complete, tool-agnostic methodology — loop,',
|
|
206
|
+
'roles, procedures, rituals, hard rules — lives in ONE place. Read before acting:', '',
|
|
207
207
|
'> **`.claude/istartsoft-flow/METHODOLOGY.md`** ← single source of truth.', '',
|
|
208
|
-
'
|
|
208
|
+
'The portable kit lives in **`.claude/`** (folder name = host convention for',
|
|
209
|
+
'commands/agents/hooks — content is tool-agnostic; see `.claude/README.md`).',
|
|
210
|
+
'Do not restate METHODOLOGY rules elsewhere (anti-drift).', '',
|
|
209
211
|
'## The loop', '',
|
|
210
|
-
'design-research → grill ×2 → plan →
|
|
211
|
-
'SLICE per phase. Phase 0 (infra)
|
|
212
|
+
'design-research → grill ×2 → plan → (propose/design if quoted) → implement →',
|
|
213
|
+
'test → deploy — one VERTICAL SLICE per phase. Phase 0 (infra) only when',
|
|
214
|
+
'infra is self-managed.', '',
|
|
212
215
|
'## Roles — `.claude/agents/`', '',
|
|
213
216
|
'planner · researcher · implementer · test-author · debugger · e2e-runner · synthesizer', '',
|
|
214
217
|
'## Procedures — `.claude/commands/` (run as `/name`)', '',
|
|
215
|
-
'
|
|
216
|
-
'
|
|
217
|
-
'
|
|
218
|
+
'**Default:** `/overview` · `/feature` · `/quick`', '',
|
|
219
|
+
'**Advanced:** `/propose` · `/design` · `/support` · `/phase` · `/sprint` · `/goal` ·',
|
|
220
|
+
'`/ui-audit` · `/qa-audit` · `/security-audit` · `/release` · `/uat` ·',
|
|
221
|
+
'`/change-request` · `/replan` · `/synthesize` · `/runbook` · `/store-wisdom` ·',
|
|
222
|
+
'`/log-issue` · `/log-decision` · `/unstuck`', '',
|
|
218
223
|
'## Skills — `.claude/skills/` (loaded on demand)', '',
|
|
219
|
-
'caveman · grill-me · karpathy-guidelines · ux-design · security
|
|
224
|
+
'caveman · grill-me · karpathy-guidelines · ux-design · security · code-standards ·',
|
|
225
|
+
'support-triage', '',
|
|
220
226
|
'## Autonomy', '',
|
|
221
227
|
'Planning (`/overview` grill + plan approval) always asks — that input is cheap.',
|
|
222
228
|
'**AUTO (default)** governs the DEV loop: follow the plan, decide + log + continue,',
|
|
@@ -225,16 +231,8 @@ function agentsMd() {
|
|
|
225
231
|
'mid-flow. **GUIDED** asks at each fork in dev too. Declare the mode in',
|
|
226
232
|
'`docs/OVERVIEW.md`. See METHODOLOGY → Autonomy.', '',
|
|
227
233
|
'## Hard-rule index (full text in METHODOLOGY.md)', '',
|
|
228
|
-
'1
|
|
229
|
-
'
|
|
230
|
-
'green · 6 blind tests (RED-first) · 7 programmatic E2E auth · 8 log-decision on arch',
|
|
231
|
-
'change · 9 UI conforms to the `ux-design` cookbook + wireframe frame · 10 no-rationalization ·',
|
|
232
|
-
'11 Secure SDLC: threat-model → secure coding → SAST/SCA/secrets each phase → pentest',
|
|
233
|
-
'gate + security review before deploy (`security` skill) · 12 code-standards gate:',
|
|
234
|
-
'lint/format clean + naming per language idiom + declared architecture (`code-standards`) ·',
|
|
235
|
-
'13 PLAN-APPROVAL gate: no phase/sprint starts until `docs/PLAN.md` is human-approved ·',
|
|
236
|
-
'14 UNDERSTAND-FIRST gate: brief back any new free-text task and wait for confirm',
|
|
237
|
-
'before executing (an approved PLAN/FEATURE/CR/goal is the recorded confirmation).', '',
|
|
234
|
+
'1–12 as in METHODOLOGY · 13 PLAN-APPROVAL · 14 UNDERSTAND-FIRST ·',
|
|
235
|
+
'15 DESIGN + ARCHITECTURE gates (after proposal, before `/phase`; internal may n/a).', '',
|
|
238
236
|
'## Your stack', '',
|
|
239
237
|
'Declare your stack (language, framework, infra, auth, test + E2E runner,',
|
|
240
238
|
'planning source) once in `docs/OVERVIEW.md`. Every rule references *your declared',
|
|
@@ -244,17 +242,14 @@ function agentsMd() {
|
|
|
244
242
|
|
|
245
243
|
function claudeMd() {
|
|
246
244
|
return [
|
|
247
|
-
'# CLAUDE.md —
|
|
245
|
+
'# CLAUDE.md — host shim for Claude Code', '',
|
|
248
246
|
'@AGENTS.md', '',
|
|
249
|
-
'
|
|
250
|
-
'
|
|
251
|
-
'
|
|
252
|
-
'
|
|
253
|
-
'- **
|
|
254
|
-
'
|
|
255
|
-
'- **PreCompact** + **SubagentStop** hooks run their rituals automatically.',
|
|
256
|
-
'- Commands in `.claude/commands/` run as `/name`; agents in `.claude/agents/` are',
|
|
257
|
-
' native subagents.', '',
|
|
247
|
+
'Claude Code auto-loads **this filename only**. The import above is the real',
|
|
248
|
+
'entry (`AGENTS.md` → METHODOLOGY). Do NOT restate rules here.', '',
|
|
249
|
+
'## Host wiring (automatic — see `.claude/settings.json`)', '',
|
|
250
|
+
'- **SessionStart** injects git state + `docs/STATE.md` + open `docs/ISSUES.md`.',
|
|
251
|
+
'- **PreCompact** + **SubagentStop** rituals run automatically.',
|
|
252
|
+
'- Commands in `.claude/commands/` → `/name`; agents in `.claude/agents/` → native subagents.', '',
|
|
258
253
|
].join('\n');
|
|
259
254
|
}
|
|
260
255
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-issflow",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "Scaffold the iStartSoftFlow AI-coding workflow into a project. Stack-agnostic, tool-agnostic (Claude Code, Codex, Cursor, Gemini, Aider), non-destructive.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"create-issflow": "bin/cli.js"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# `.claude/` — portable iStartSoftFlow kit
|
|
2
|
+
|
|
3
|
+
This directory is the **portable workflow kit** installed into every project.
|
|
4
|
+
Content is **tool-agnostic**. The folder name `.claude/` is a **host convention**
|
|
5
|
+
(Claude Code and several other agents load commands/agents/hooks from this path).
|
|
6
|
+
It is **not** “Claude-only product branding.”
|
|
7
|
+
|
|
8
|
+
**Human entry points (repo root):**
|
|
9
|
+
|
|
10
|
+
| File | Role |
|
|
11
|
+
|------|------|
|
|
12
|
+
| `AGENTS.md` | Open-standard primary entry — indexes this kit |
|
|
13
|
+
| `CLAUDE.md` | Thin shim (`@AGENTS.md`) — only because Claude Code auto-loads that filename |
|
|
14
|
+
|
|
15
|
+
**Single source of truth for rules:** [`istartsoft-flow/METHODOLOGY.md`](./istartsoft-flow/METHODOLOGY.md)
|
|
16
|
+
|
|
17
|
+
## Layout
|
|
18
|
+
|
|
19
|
+
| Path | What |
|
|
20
|
+
|------|------|
|
|
21
|
+
| `agents/` | Fresh-context workers (planner, researcher, implementer, …) |
|
|
22
|
+
| `commands/` | Procedures — Default: `/overview` `/feature` `/quick`; Advanced: `/propose` `/design` `/support` … |
|
|
23
|
+
| `skills/` | On-demand cookbooks (ux-design, security, support-triage, …) |
|
|
24
|
+
| `hooks/` | Lifecycle enforcement (context, plan gate, feature gate, …) |
|
|
25
|
+
| `istartsoft-flow/` | METHODOLOGY.md — every hard rule lives here once |
|
|
26
|
+
| `templates/` | Proposal / UX pack / architecture / CR / FEATURE / automation |
|
|
27
|
+
| `settings.json` | Host hook wiring (when using Claude Code adapter) |
|
|
28
|
+
| `flow-config.json` | Context watchdog + sprint knobs (optional overrides) |
|
|
29
|
+
|
|
30
|
+
Do **not** duplicate METHODOLOGY rules into other files (anti-drift).
|
|
31
|
+
Do **not** put personal rate cards or salary numbers in this kit.
|
|
32
|
+
|
|
33
|
+
Installer: `npx create-issflow` (omit `--tool` = all adapters).
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
# iStartSoftFlow — portable agent methodology (single source of truth)
|
|
2
2
|
|
|
3
|
-
> **The iStartSoft execution loop.**
|
|
4
|
-
>
|
|
5
|
-
>
|
|
6
|
-
>
|
|
7
|
-
>
|
|
8
|
-
>
|
|
9
|
-
>
|
|
10
|
-
>
|
|
11
|
-
>
|
|
12
|
-
>
|
|
13
|
-
>
|
|
3
|
+
> **The iStartSoft execution loop.** Lives under `.claude/istartsoft-flow/` as
|
|
4
|
+
> part of the **portable kit**. The directory name `.claude/` is a **host
|
|
5
|
+
> convention** (several agents load commands/hooks from that path) — not
|
|
6
|
+
> Claude-only branding. Primary human entry is root **`AGENTS.md`** (open
|
|
7
|
+
> standard). `CLAUDE.md` / `GEMINI.md` / … are thin host adapters that point
|
|
8
|
+
> here; they do NOT replace this file.
|
|
9
|
+
>
|
|
10
|
+
> The kit is **stack-agnostic and tool-agnostic**: it pins a *process*, not a
|
|
11
|
+
> *stack*. Declare your stack (language, framework, infra, auth, test + E2E
|
|
12
|
+
> runner, planning source) once in `docs/OVERVIEW.md`; every rule below
|
|
13
|
+
> references *your declared stack* and hardcodes none. If infra is **managed**
|
|
14
|
+
> (a PaaS + a managed datastore), Phase 0 (infra) is N/A and phases begin at the
|
|
15
|
+
> first vertical slice; otherwise Phase 0 provisions infra first. Planning source
|
|
16
|
+
> of truth stays in your PRD / architecture / stories (e.g. BMAD / iSSM);
|
|
17
|
+
> iStartSoftFlow is the execution loop layered on top.
|
|
14
18
|
|
|
15
19
|
<!-- ISTARTSOFTFLOW-AGENTS-SENTINEL-v2.0 -->
|
|
16
20
|
> **SENTINEL.** The HTML comment above (`ISTARTSOFTFLOW-AGENTS-SENTINEL-v2.0`) is a
|
|
@@ -23,10 +27,11 @@
|
|
|
23
27
|
> open `AGENTS.md` standard, get the full methodology from here.
|
|
24
28
|
|
|
25
29
|
> **Anti-drift invariant (load-bearing).** Every rule lives in exactly ONE place:
|
|
26
|
-
> this file. `CLAUDE.md`
|
|
27
|
-
>
|
|
28
|
-
>
|
|
29
|
-
> architectural defect, not a
|
|
30
|
+
> this file. Host entry files (`AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, …) restate
|
|
31
|
+
> NO rule — they only index this file and wire host-native mechanisms
|
|
32
|
+
> ("mechanism X performs ritual Y automatically"). A rule and its automation may
|
|
33
|
+
> never contradict. Duplication between files is an architectural defect, not a
|
|
34
|
+
> convenience.
|
|
30
35
|
|
|
31
36
|
Caveman ULTRA mode always on. Apply the `karpathy-guidelines` skill (engineering
|
|
32
37
|
discipline) on every coding and debugging task. Apply the `ux-design` skill (the UX
|
|
@@ -694,19 +699,19 @@ the KB. The kit works normally without a KB.
|
|
|
694
699
|
|
|
695
700
|
## Capability matrix (which host gets what)
|
|
696
701
|
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
the same everywhere — only the *wiring* differs.
|
|
702
|
+
Single-source kit: **`.claude/` tree** (portable) + **this file** (rules) + root
|
|
703
|
+
**`AGENTS.md`** (open-standard entry). `create-issflow --tool=<host>` (omit =
|
|
704
|
+
all) writes adapters; unsupported features degrade to model-run rituals, never
|
|
705
|
+
silently vanish. Assets are the same everywhere — only the *wiring* differs.
|
|
701
706
|
|
|
702
707
|
| Host | Entry file | Commands | Subagents | Lifecycle hooks | Shared KB |
|
|
703
708
|
|------|-----------|----------|-----------|-----------------|-----------|
|
|
704
|
-
| **
|
|
709
|
+
| **Any AGENTS.md host** | `AGENTS.md` | read as reference | model-run | model-run | yes |
|
|
705
710
|
| **Codex CLI** | `AGENTS.md` (native) | `.claude/commands/` (read as prompts) | read as reference | model-run | yes |
|
|
706
711
|
| **Cursor** | `.cursor/rules/` + `AGENTS.md` | `.cursor/commands/` | reads `.claude/agents/` | `.cursor/hooks.json` (sessionStart · subagentStop) | yes |
|
|
707
712
|
| **Gemini CLI** | `GEMINI.md` + `AGENTS.md` | `.claude/commands/` (read as prompts) | read as reference | model-run | yes |
|
|
708
713
|
| **Aider** | `.aider.conf.yml` → `AGENTS.md` | read as reference | model-run | model-run | yes |
|
|
709
|
-
| **
|
|
714
|
+
| **Claude Code** | `CLAUDE.md` (`@AGENTS.md`) + `.claude/` | `.claude/commands/` | native | SessionStart · PreToolUse (context watchdog + plan gate) · PreCompact · SubagentStop · Stop | yes |
|
|
710
715
|
|
|
711
716
|
"model-run" = the host can't automate the ritual, so the model performs it by hand
|
|
712
717
|
(SESSION-OPEN at the top of each session; the COMPRESS snapshot before a reset).
|