Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pi-templates/.pi/prompts/feature.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ argument-hint: "\"what you want to build\""
---
Read `.pi/skills/fia/SKILL.md`. Prerequisite: `ai-docs/map.yaml` — if it doesn't
exist (existing system not yet absorbed), stop and ask me to run
/absorb first.
/onboarding first (or /absorb alone for just the map).

Request: $@

Expand Down
3 changes: 2 additions & 1 deletion pi-templates/.pi/prompts/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ there does not exist for you). Then orient me. My goal, if I already gave one: $
mostly done or my goal is going live.
5. The one thing the scripts cannot see (code cannot tell a starter from a
product): a real hand-built application that `ai-docs/` never absorbed →
the route starts with `/absorb`, before anything else.
the route starts with `/onboarding` (the guided `/absorb` → `/stack` →
`/kit` pass), before anything else.

**Step 1 — ONE question.** Tell me where I stand in two lines, citing the
scripts' evidence — then ask my goal with your recommendation embedded ("My
Expand Down
3 changes: 2 additions & 1 deletion pi-templates/.pi/prompts/idea.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ full of `{{placeholders}}` do NOT make a project brownfield; it already knows):
full interview and rewrite the PRD (git + decision logs keep the old version).
- `brownfield` → **Module mode** (below).
- In greenfield/ideation, if the code holds a real application that `ai-docs/`
never absorbed (not the installer's starter), stop and suggest `/absorb` first.
never absorbed (not the installer's starter), stop and suggest `/onboarding`
first (the guided `/absorb` → `/stack` → `/kit` pass).

Interview rules (follow them to the letter):

Expand Down
15 changes: 11 additions & 4 deletions pi-templates/.pi/prompts/onboarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,17 @@ here (the only exception is /kit's `/ui-components` page, per its own prompt).
Focus/flags (optional; the focus goes to the /absorb stage): $@

0. **Guard + resume rail + announce** — run
`node imp/scripts/project-mode.mjs --json` and trust it. Not `brownfield`
→ stop: there is nothing to absorb; route in one line — no PRD yet →
/idea (discover the product), PRD exists but nothing built → /grill then
/map. Brownfield → the tour keeps a resume rail in the decision log
`node imp/scripts/project-mode.mjs --json` for the evidence, then decide
the entry question YOURSELF — by design the script leaves it to you (a
fresh install on a real app still reports `greenfield`: code cannot tell
a starter from a product). Does this folder hold a REAL application
(hand-built code, not the installer's starter)?
- No real app → stop: there is nothing to absorb; route in one line — no
real PRD → /idea (discover the product), real PRD but nothing built →
/grill then /map.
- Real app → proceed (`brownfield` — already absorbed — is fine too: the
stages detect existing artifacts and offer to skip).
The tour keeps a resume rail in the decision log
(cookbook `.pi/skills/fia/cookbooks/decision-log.md`):
- `node imp/scripts/decision-log.mjs latest onboarding --json` FIRST. An
`open` log = an interrupted tour: read its stage notes, confirm the
Expand Down
2 changes: 1 addition & 1 deletion src/lib/stack.js
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ const SOURCE_LABEL = {
template: 'ready-made template (IAI recommended stack)',
custom: 'stack assembled in the installer',
discover: 'to be decided — talk to Pi (/idea extracts PRD + stack)',
brownfield: 'existing project — run /absorb so the system maps the real stack',
brownfield: 'existing project — run /onboarding (or /absorb) so the system maps the real stack',
};

/**
Expand Down
2 changes: 1 addition & 1 deletion src/steps/stack.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export async function collectStack(ctx) {
}
if (ctx.stackPath === 'brownfield') {
ctx.stack = { ...applyStackRules({}), source: 'brownfield' };
ui.info('Existing project: /absorb will map the real stack and fill in ai-docs/stack.md.');
ui.info('Existing project: /onboarding (its /absorb stage) will map the real stack and fill in ai-docs/stack.md.');
return;
}
if (ctx.stackPath === 'discover') {
Expand Down
Loading