raven-init-stack
Raven Init Stack
Invocation: /raven-init-stack <app-name>, e.g. /raven-init-stack equi-sell. Talk to the user in their language; write tech-stack.md in the user's language unless the project already uses another.
Take the name as the application name and the workspace package prefix, not as a path. If the user did not give it and did not state it unambiguously in the current instruction, add the name question to the interview below. Use kebab-case, e.g. equi-sell; do not treat the argument as shell code. Do not rename the user's folder.
PRD and architecture decisions — before generating
Read context/foundation/prd.md, the existing tech-stack.md, the repository instructions and findings available from the conversation. Analyze the requirements first, only then ask questions. If the PRD does not exist, ask for its location or a short product description; do not invent requirements. The user may consciously request just the base skeleton without a PRD.
The user acts as the architect. Run a short interview: a few significant questions that follow from the product, 1–3 per turn, with the AskUserQuestion tool. Do not use a universal questionnaire and do not re-ask settled decisions. With every question point to the PRD requirement, a recommendation and a short reason or trade-off. Example topics, only when they apply:
- Images and files: where do we store files — e.g. S3/R2-compatible storage or a local disk — and does the database keep only metadata? How should development work?
- Access: does the product need sign-in, or is it a personal localhost tool? Do not add accounts just because the starter supports them.
- Long operations, agent processes and realtime: what runs outside an HTTP request, how does it survive closing the page and restarting the app?
- Integrations and data: what is the source of truth, which services are needed from the start, what can be deferred?
Allow the answers "I don't know", "propose" and "let's defer". With uncertainty, present a recommendation and let the user accept or change it; silence alone is not consent. If the user explicitly delegates a specific choice, choose and record the justification. Do not block the skeleton on integrations that can be added later. Decisions affecting generation must be settled before it; for a deferred decision agree on a minimal variant that allows starting.