create-agentic-starter 0.1.17 → 0.1.19

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/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import{mkdir as D,rm as G,writeFile as O}from"fs/promises";import g from"path";import{readFile as R,writeFile as f}from"fs/promises";import h from"path";function u(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function A(t,r,s,a){let c=new RegExp(`${u(s)}[\\s\\S]*?${u(a)}\\n?`,"m");if(c.test(t))return t.replace(c,`${r}
2
+ import{mkdir as D,rm as G,writeFile as v}from"fs/promises";import g from"path";import{readFile as R,writeFile as f}from"fs/promises";import h from"path";function w(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function A(t,r,a,s){let m=new RegExp(`${w(a)}[\\s\\S]*?${w(s)}\\n?`,"m");if(m.test(t))return t.replace(m,`${r}
3
3
  `);let o=t.endsWith(`
4
4
  `)?`
5
5
  `:`
6
6
 
7
7
  `;return`${t}${o}${r}
8
- `}async function w(t,r,s,a,c){let o=h.join(t,r);try{let i=await R(o,"utf8"),F=A(i,s,a,c);await f(o,F,"utf8")}catch(i){if(i.code!=="ENOENT")throw i;await f(o,`${s}
9
- `,"utf8")}}import{existsSync as M,readFileSync as $,realpathSync as E}from"fs";import n from"path";import{fileURLToPath as N}from"url";function e(t){let r=[n.dirname(E(N(import.meta.url))),process.argv[1]?n.dirname(E(process.argv[1])):null,process.argv[1]?n.dirname(n.resolve(process.argv[1])):null].filter(s=>!!s);for(let s of r){let a=n.join(s,t);if(M(a))return $(a,"utf8")}throw new Error(`Template not found: ${t}. Checked: ${r.join(", ")}`)}var j="AGENTS.md",m="<!-- from create-agentic-starter:agents:start -->",p="<!-- from create-agentic-starter:agents:end -->",P=e("./templates/meta/agents.md").trimEnd(),x=`${m}
8
+ `}async function u(t,r,a,s,m){let o=h.join(t,r);try{let c=await R(o,"utf8"),F=A(c,a,s,m);await f(o,F,"utf8")}catch(c){if(c.code!=="ENOENT")throw c;await f(o,`${a}
9
+ `,"utf8")}}import{existsSync as M,readFileSync as $,realpathSync as E}from"fs";import n from"path";import{fileURLToPath as N}from"url";function e(t){let r=[n.dirname(E(N(import.meta.url))),process.argv[1]?n.dirname(E(process.argv[1])):null,process.argv[1]?n.dirname(n.resolve(process.argv[1])):null].filter(a=>!!a);for(let a of r){let s=n.join(a,t);if(M(s))return $(s,"utf8")}throw new Error(`Template not found: ${t}. Checked: ${r.join(", ")}`)}var j="AGENTS.md",i="<!-- from create-agentic-starter:agents:start -->",p="<!-- from create-agentic-starter:agents:end -->",P=e("./templates/meta/agents.md").trimEnd(),x=`${i}
10
10
  ${P}
11
11
  ${p}
12
- `;var T={".agentic/commands/project-requirements.md":e("./templates/commands/project-requirements.md"),".agentic/commands/architecture.md":e("./templates/commands/architecture.md"),".agentic/commands/create-brd.md":e("./templates/commands/create-brd.md"),".agentic/commands/create-frd.md":e("./templates/commands/create-frd.md"),".agentic/commands/create-estimate.md":e("./templates/commands/create-estimate.md"),".agentic/commands/create-proposal.md":e("./templates/commands/create-proposal.md"),".agentic/commands/create-plan.md":e("./templates/commands/create-plan.md"),".agentic/commands/create-tasks.md":e("./templates/commands/create-tasks.md")};var k={".agentic/init.md":e("./templates/core/init.md"),".agentic/context.md":e("./templates/core/context.md")};var l=[".agentic"],d=[".agentic",".agentic/commands",".agentic/workspace",".agentic/workspace/project",".agentic/workspace/memory",".agentic/workspace/memory/features",".agentic/workspace/documents",".agentic/workspace/scripts",".docs",".docs/brd",".docs/frd",".docs/estimate",".docs/proposal",".docs/plan",".docs/tasks"];var y={".agentic/workspace/memory/project-state.md":e("./templates/memory/project-state.md"),".agentic/workspace/memory/decisions.md":e("./templates/memory/decisions.md"),".agentic/workspace/memory/next-actions.md":e("./templates/memory/next-actions.md"),".agentic/workspace/memory/handoff.md":e("./templates/memory/handoff.md")};var _={".agentic/workspace/scripts/README.md":e("./templates/scripts/README.md"),".agentic/workspace/scripts/_shared.js":e("./templates/scripts/_shared.js"),".agentic/workspace/scripts/generate_brd.js":e("./templates/scripts/generate_brd.js"),".agentic/workspace/scripts/generate_frd.js":e("./templates/scripts/generate_frd.js"),".agentic/workspace/scripts/generate_estimate.js":e("./templates/scripts/generate_estimate.js"),".agentic/workspace/scripts/generate_proposal.js":e("./templates/scripts/generate_proposal.js"),".agentic/workspace/scripts/generate_plan.js":e("./templates/scripts/generate_plan.js"),".agentic/workspace/scripts/generate_tasks.js":e("./templates/scripts/generate_tasks.js")};var S=()=>({...k,...T,...y,..._});async function v(t){await Promise.all(l.map(r=>G(g.join(t,r),{recursive:!0,force:!0})))}async function I(t){await Promise.all(d.map(r=>D(g.join(t,r),{recursive:!0})))}async function b(t){let r=S();await Promise.all(Object.entries(r).map(([s,a])=>O(g.join(t,s),a,"utf8")))}async function C(){let t=process.cwd();await v(t),await I(t),await b(t),await w(t,j,x,m,p),console.log(""),console.log("create-agentic-starter: scaffold created successfully."),console.log(`Project folder: ${t}`),console.log(""),console.log("Next steps:"),console.log("1. Open your AI tool in this folder."),console.log("2. Start a new chat with @.agentic/init.md"),console.log("")}C().catch(t=>{let r=t instanceof Error?t.message:String(t);console.error(`create-agentic-starter: failed to scaffold project. ${r}`),process.exitCode=1});
12
+ `;var T={".agentic/commands/project-requirements.md":e("./templates/commands/project-requirements.md"),".agentic/commands/architecture.md":e("./templates/commands/architecture.md"),".agentic/commands/create-brd.md":e("./templates/commands/create-brd.md"),".agentic/commands/create-frd.md":e("./templates/commands/create-frd.md"),".agentic/commands/create-estimate.md":e("./templates/commands/create-estimate.md"),".agentic/commands/create-proposal.md":e("./templates/commands/create-proposal.md"),".agentic/commands/create-plan.md":e("./templates/commands/create-plan.md"),".agentic/commands/create-tasks.md":e("./templates/commands/create-tasks.md"),".agentic/commands/implementation.md":e("./templates/commands/implementation.md")};var k={".agentic/init.md":e("./templates/core/init.md"),".agentic/context.md":e("./templates/core/context.md")};var d=[".agentic"],l=[".agentic",".agentic/commands",".agentic/workspace",".agentic/workspace/project",".agentic/workspace/memory",".agentic/workspace/memory/features",".agentic/workspace/documents",".agentic/workspace/scripts",".docs",".docs/brd",".docs/frd",".docs/estimate",".docs/proposal",".docs/plan",".docs/tasks"];var y={".agentic/workspace/memory/project-state.md":e("./templates/memory/project-state.md"),".agentic/workspace/memory/decisions.md":e("./templates/memory/decisions.md"),".agentic/workspace/memory/next-actions.md":e("./templates/memory/next-actions.md"),".agentic/workspace/memory/handoff.md":e("./templates/memory/handoff.md")};var _={".agentic/workspace/scripts/README.md":e("./templates/scripts/README.md"),".agentic/workspace/scripts/_shared.js":e("./templates/scripts/_shared.js"),".agentic/workspace/scripts/generate_brd.js":e("./templates/scripts/generate_brd.js"),".agentic/workspace/scripts/generate_frd.js":e("./templates/scripts/generate_frd.js"),".agentic/workspace/scripts/generate_estimate.js":e("./templates/scripts/generate_estimate.js"),".agentic/workspace/scripts/generate_proposal.js":e("./templates/scripts/generate_proposal.js"),".agentic/workspace/scripts/generate_plan.js":e("./templates/scripts/generate_plan.js"),".agentic/workspace/scripts/generate_tasks.js":e("./templates/scripts/generate_tasks.js")};var S=()=>({...k,...T,...y,..._});async function O(t){await Promise.all(d.map(r=>G(g.join(t,r),{recursive:!0,force:!0})))}async function I(t){await Promise.all(l.map(r=>D(g.join(t,r),{recursive:!0})))}async function b(t){let r=S();await Promise.all(Object.entries(r).map(([a,s])=>v(g.join(t,a),s,"utf8")))}async function C(){let t=process.cwd();await O(t),await I(t),await b(t),await u(t,j,x,i,p),console.log("create-agentic-starter: ready"),console.log("Next: Start a new chat with @.agentic/init.md")}C().catch(t=>{let r=t instanceof Error?t.message:String(t);console.error(`create-agentic-starter: failed to scaffold project. ${r}`),process.exitCode=1});
@@ -0,0 +1,52 @@
1
+ # Implementation
2
+
3
+ Read:
4
+
5
+ - `@.agentic/context.md`
6
+ - `.agentic/workspace/memory/project-state.md`
7
+ - `.agentic/workspace/memory/handoff.md`
8
+ - `.agentic/workspace/memory/decisions.md` if it exists
9
+ - `.agentic/workspace/memory/project-overview.md` if it exists
10
+ - `.agentic/workspace/memory/requirements.md` if it exists
11
+ - `.agentic/workspace/memory/architecture.md` if it exists
12
+ - relevant feature files under `.agentic/workspace/memory/features/` if they exist
13
+ - relevant files under `.agentic/workspace/project/`
14
+
15
+ ## Your job
16
+
17
+ 1. Handle direct coding, feature, page, flow, or implementation requests.
18
+ 2. Identify the affected feature or create a new feature record if needed.
19
+ 3. Do the requested implementation work using the existing project context.
20
+ 4. If the user asks for a page, route, feature, component, or flow change, treat that as implementation work even if they did not tag a command.
21
+ 5. Ask only the minimum blocking questions needed to implement safely.
22
+ 6. Memory capture is always on for this step. Update:
23
+ - `.agentic/workspace/memory/project-state.md`
24
+ - `.agentic/workspace/memory/handoff.md`
25
+ - `.agentic/workspace/memory/features/<feature>.md`
26
+ 7. Update `.agentic/workspace/memory/decisions.md` only if the work creates a meaningful product or technical decision.
27
+ 8. Update `.agentic/workspace/memory/requirements.md` only if the request changes product scope or behavior expectations.
28
+ 9. Update `.agentic/workspace/memory/architecture.md` only if the work changes architecture or important technical direction.
29
+ 10. Keep `project-state.md` and `handoff.md` short.
30
+ 11. Use one file per feature under `.agentic/workspace/memory/features/` with kebab-case naming such as:
31
+ - `landing-page.md`
32
+ - `about-page.md`
33
+ - `checkout.md`
34
+ 12. Use this feature file structure:
35
+ - Feature Name
36
+ - Current Status
37
+ - Summary
38
+ - Requirements
39
+ - Implementation Notes
40
+ - Dependencies
41
+ - Blockers
42
+ - Decisions Affecting This Feature
43
+ - Related Outputs or Docs
44
+ - Next Steps
45
+
46
+ When the implementation work is complete enough, tell the user the available next options and make it clear they can also say what they want to do next.
47
+
48
+ - continue implementation work
49
+ - `@.agentic/commands/create-plan.md`
50
+ - `@.agentic/commands/create-tasks.md`
51
+ - `@.agentic/commands/create-brd.md`
52
+ - `@.agentic/commands/create-proposal.md`
@@ -7,6 +7,7 @@ This repository uses a prompt-based project kick-off system.
7
7
  - `.agentic/init.md`: session bootstrap prompt
8
8
  - `.agentic/context.md`: shared rules and folder semantics
9
9
  - `.agentic/commands/`: prompt files for distinct tasks
10
+ - `.agentic/commands/implementation.md`: implementation and feature-work prompt
10
11
  - `.agentic/workspace/project/`: raw project materials
11
12
  - `.agentic/workspace/memory/`: evolving AI-maintained understanding
12
13
  - `.agentic/workspace/documents/`: internal drafts and intermediate artifacts
@@ -100,8 +101,14 @@ Use `.docs/` for user-facing deliverables:
100
101
  10. Do not restart basic intake if the workspace already contains strong memory unless the existing information is clearly incomplete or contradictory.
101
102
  11. If the user directly asks for a specific deliverable, feature discussion, or implementation task and enough context already exists, do the work and capture the outcome automatically in the relevant memory files.
102
103
  12. Update only the memory files affected by the current work instead of rewriting everything.
103
- 13. Prefer the target project root for Node-based export dependencies when a usable Node setup already exists there.
104
- 14. If root is not suitable, ask the user which path should be used for dependency installation.
105
- 15. Ask the user before running any install command.
106
- 16. Ask only the minimum blocking questions required to continue.
107
- 17. Always end by telling the user the exact next command to run or listing the available next options.
104
+ 13. For normal coding work, update:
105
+ - the relevant feature file under `.agentic/workspace/memory/features/`
106
+ - `.agentic/workspace/memory/project-state.md`
107
+ - `.agentic/workspace/memory/handoff.md`
108
+ 14. Update `.agentic/workspace/memory/decisions.md` only when the work creates a meaningful product or technical decision.
109
+ 15. Update `.agentic/workspace/memory/requirements.md` or `.agentic/workspace/memory/architecture.md` only when the current work actually changes them.
110
+ 16. Prefer the target project root for Node-based export dependencies when a usable Node setup already exists there.
111
+ 17. If root is not suitable, ask the user which path should be used for dependency installation.
112
+ 18. Ask the user before running any install command.
113
+ 19. Ask only the minimum blocking questions required to continue.
114
+ 20. Always end by telling the user the exact next command to run or listing the available next options.
@@ -44,6 +44,9 @@ You are starting a fresh AI session inside this project. Your job is to quickly
44
44
  - suggest valid next commands based on the current progress instead of forcing `@.agentic/commands/project-requirements.md`
45
45
  7. Memory capture is always on. Do not require a separate memory-capture prompt to store useful project information.
46
46
  8. If the user directly asks to create, continue, or implement something and the existing context is sufficient, follow that request instead of routing them back through the recommended sequence.
47
+ - treat page work, feature work, component work, route work, and flow changes as implementation work
48
+ - use the behavior of `@.agentic/commands/implementation.md` even if the user did not explicitly tag it
49
+ - update the relevant feature file, `project-state.md`, and `handoff.md` before finishing
47
50
  9. If project context is still thin, ask a small number of targeted questions about:
48
51
  - project goal
49
52
  - target users
@@ -68,6 +71,7 @@ You are starting a fresh AI session inside this project. Your job is to quickly
68
71
  20. If important project basics are still missing, continue asking focused questions and keep updating the memory files instead of routing forward yet.
69
72
  21. When suggesting next commands in resumed sessions, use the existing progress:
70
73
  - if requirements exist but architecture does not, recommend `@.agentic/commands/architecture.md`
74
+ - if the user is asking for coding or feature work, allow `@.agentic/commands/implementation.md`
71
75
  - if architecture exists, suggest `@.agentic/commands/create-brd.md`, `@.agentic/commands/create-proposal.md`, `@.agentic/commands/create-plan.md`, and `@.agentic/commands/create-tasks.md`
72
76
  - if BRD work already exists, also allow `@.agentic/commands/create-frd.md`
73
77
  - if FRD work already exists, also allow `@.agentic/commands/create-estimate.md`
@@ -36,6 +36,7 @@ Use this scaffold when you want an AI tool to:
36
36
  2. `@.agentic/commands/project-requirements.md`
37
37
  3. `@.agentic/commands/architecture.md`
38
38
  4. Then choose from the available options shown by the current command, such as:
39
+ - `@.agentic/commands/implementation.md`
39
40
  - `@.agentic/commands/create-brd.md`
40
41
  - `@.agentic/commands/create-frd.md`
41
42
  - `@.agentic/commands/create-estimate.md`
@@ -47,6 +48,8 @@ If a workspace already contains memory and document progress, `@.agentic/init.md
47
48
 
48
49
  Memory capture is automatic during normal work. Users do not need to run a separate prompt just to store project context.
49
50
 
51
+ For direct coding or feature requests, use `@.agentic/commands/implementation.md` or let `@.agentic/init.md` continue with implementation behavior automatically.
52
+
50
53
  ## Output Conventions
51
54
 
52
55
  Default user-facing outputs live under `.docs/`:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-agentic-starter",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "Scaffold a minimal AI-powered project delivery workflow inside the current folder.",
5
5
  "license": "MIT",
6
6
  "type": "module",