codeloop 0.1.17 → 0.1.20

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.
Files changed (53) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +76 -0
  3. package/dist/commands/doctor.d.ts +1 -1
  4. package/dist/commands/doctor.d.ts.map +1 -1
  5. package/dist/commands/doctor.js +213 -10
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/index.js +28 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/geo-doctor.d.ts +36 -0
  10. package/dist/lib/geo-doctor.d.ts.map +1 -0
  11. package/dist/lib/geo-doctor.js +96 -0
  12. package/dist/lib/geo-doctor.js.map +1 -0
  13. package/dist/lib/stripe-doctor.d.ts +21 -0
  14. package/dist/lib/stripe-doctor.d.ts.map +1 -0
  15. package/dist/lib/stripe-doctor.js +54 -0
  16. package/dist/lib/stripe-doctor.js.map +1 -0
  17. package/dist/lib/tier-b-evidence.d.ts +26 -0
  18. package/dist/lib/tier-b-evidence.d.ts.map +1 -0
  19. package/dist/lib/tier-b-evidence.js +92 -0
  20. package/dist/lib/tier-b-evidence.js.map +1 -0
  21. package/dist/templates/claude-agents.d.ts +1 -4
  22. package/dist/templates/claude-agents.d.ts.map +1 -1
  23. package/dist/templates/claude-agents.js +1 -341
  24. package/dist/templates/claude-agents.js.map +1 -1
  25. package/dist/templates/claude-prompts.d.ts +1 -3
  26. package/dist/templates/claude-prompts.d.ts.map +1 -1
  27. package/dist/templates/claude-prompts.js +1 -44
  28. package/dist/templates/claude-prompts.js.map +1 -1
  29. package/dist/templates/config.d.ts +1 -1
  30. package/dist/templates/config.d.ts.map +1 -1
  31. package/dist/templates/config.js +1 -31
  32. package/dist/templates/config.js.map +1 -1
  33. package/dist/templates/cursor-rules.d.ts +1 -7
  34. package/dist/templates/cursor-rules.d.ts.map +1 -1
  35. package/dist/templates/cursor-rules.js +1 -684
  36. package/dist/templates/cursor-rules.js.map +1 -1
  37. package/dist/templates/cursor-skills.d.ts +1 -4
  38. package/dist/templates/cursor-skills.d.ts.map +1 -1
  39. package/dist/templates/cursor-skills.js +1 -156
  40. package/dist/templates/cursor-skills.js.map +1 -1
  41. package/dist/templates/global-rules.d.ts +1 -37
  42. package/dist/templates/global-rules.d.ts.map +1 -1
  43. package/dist/templates/global-rules.js +1 -164
  44. package/dist/templates/global-rules.js.map +1 -1
  45. package/dist/templates/mcp-config.d.ts +1 -31
  46. package/dist/templates/mcp-config.d.ts.map +1 -1
  47. package/dist/templates/mcp-config.js +1 -68
  48. package/dist/templates/mcp-config.js.map +1 -1
  49. package/dist/templates/specs.d.ts +1 -3
  50. package/dist/templates/specs.d.ts.map +1 -1
  51. package/dist/templates/specs.js +1 -67
  52. package/dist/templates/specs.js.map +1 -1
  53. package/package.json +26 -4
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-rules.js","sourceRoot":"","sources":["../../src/templates/cursor-rules.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8QvB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CvB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGlC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC9B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC1B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0JtB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCzB,CAAC"}
1
+ {"version":3,"file":"cursor-rules.js","sourceRoot":"","sources":["../../src/templates/cursor-rules.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC"}
@@ -1,5 +1,2 @@
1
- export declare const SKILL_LOOP = "---\nname: codeloop-loop\ndescription: Run the full CodeLoop verify-diagnose-fix cycle until all quality gates pass. Use when implementing a feature end-to-end or completing a development section that requires verified, production-ready code.\n---\n\n# CodeLoop Loop\n\nOrchestrates the complete verification cycle for a feature or section.\n\n## When to use\n\n- After implementing a feature or completing a code change that needs verification\n- When working through a multi-section development plan\n- When you need evidence-based confirmation that code is ready for review\n\n## Instructions\n\n1. Call `codeloop_verify` with the appropriate scope (\"full\" for entire project, \"affected\" for changed files only) and platform (\"auto\" to detect, or \"flutter\"/\"web\"/\"mobile\" explicitly)\n\n2. Read the structured output. If all checks pass, proceed to step 5.\n\n3. If there are failures, call `codeloop_diagnose` with the `run_id` from the verify result. Read the categorized issues and repair tasks carefully.\n\n4. Fix ONLY the issues listed in the repair tasks. Do not guess or fix unrelated code. After fixing, go back to step 1 and re-verify. Repeat up to 8 times.\n\n5. Call `codeloop_gate_check` with the `run_id`, the spec path, and the acceptance criteria path.\n\n6. If gate_check returns:\n - `\"ready_for_review\"` with confidence >= 94% \u2014 the task is complete\n - `\"continue_fixing\"` \u2014 go back to step 1\n - `\"escalate\"` \u2014 stop and report blockers to the developer\n\n7. If working through a multi-section plan, call `codeloop_section_status` to get the next section and repeat the entire cycle.\n\n## Important\n\n- Never mark a task complete without evidence from `codeloop_gate_check`\n- After 8 failed repair attempts, escalate instead of continuing\n- Trust deterministic results (test pass/fail) over model opinions\n";
2
- export declare const SKILL_VERIFY = "---\nname: codeloop-verify\ndescription: Run a single CodeLoop verification pass to check if the current code compiles, passes tests, and meets quality standards. Use after any code change to get structured pass/fail results.\n---\n\n# CodeLoop Verify\n\nRuns a single verification pass and returns structured results.\n\n## When to use\n\n- After making code changes and wanting a quick check\n- Before committing code to ensure nothing is broken\n- When you need structured test/lint/build output instead of raw terminal output\n\n## Instructions\n\n1. Call `codeloop_verify` with parameters:\n - `scope`: \"full\" (all checks) or \"affected\" (only changed files)\n - `platform`: \"auto\" (detect from project), \"flutter\", \"web\", or \"mobile\"\n\n2. The tool returns a structured report containing:\n - Pass/fail counts for each check category\n - Artifact paths for logs and screenshots\n - A next-step suggestion\n\n3. If there are failures, consider using the codeloop-loop skill for the full diagnose-fix cycle, or call `codeloop_diagnose` manually with the `run_id`.\n\n4. If all checks pass, you can proceed with confidence or run `codeloop_gate_check` for formal completion evidence.\n\n## Output format\n\nThe verification result includes:\n- `run_id`: unique identifier for this run (needed by diagnose and gate_check)\n- `summary`: overall pass/fail with counts\n- `checks`: detailed results per category (build, tests, lint, format)\n- `artifacts`: paths to generated logs and screenshots\n- `suggestion`: recommended next action\n";
3
- export declare const SKILL_VISUAL_REVIEW = "---\nname: codeloop-visual-review\ndescription: Capture screenshots of the current UI and analyze them for visual issues, layout problems, and design fidelity. Use after UI changes to catch visual regressions.\n---\n\n# CodeLoop Visual Review\n\nCaptures and analyzes UI screenshots for visual quality.\n\n## When to use\n\n- After making UI/styling changes and wanting to verify visual correctness\n- When a design reference image is available and you want to compare against it\n- When checking responsive layout across different viewport sizes\n- When verifying accessibility-related visual aspects (contrast, sizing)\n\n## Instructions\n\n### For visual review (no reference image):\n\n1. Call `codeloop_visual_review` with:\n - `run_id`: from a recent `codeloop_verify` run (optional)\n - `viewport_sizes`: array of viewport dimensions (e.g., [\"375x812\", \"1440x900\"])\n - `ux_checklist_path`: path to UX checklist if one exists\n\n2. The tool captures screenshots at each viewport size and uses a vision model to identify issues.\n\n### For design comparison (with reference image):\n\n1. Call `codeloop_design_compare` with:\n - `reference_image_path`: path to the design mockup or Figma export\n - `screen_name`: identifier for the screen being compared\n - `platform`: the platform being tested\n - `viewport_sizes`: viewport dimensions to test\n\n2. The tool returns a match score, list of differences, and comparison screenshots.\n\n## Tips\n\n- Store design references in `artifacts/references/` for easy access\n- Run visual review after every UI change, not just at the end\n- Use the UX checklist template at `docs/ux-checklists/_template.md` for consistent checks\n";
4
- export declare const SKILL_RECOMMEND = "---\nname: codeloop-recommend\ndescription: Get evidence-based recommendations for third-party tools and services based on the project stack, budget, and constraints. Use when choosing hosting, databases, email services, analytics, or any infrastructure.\n---\n\n# CodeLoop Recommend\n\nProvides structured tool and service recommendations.\n\n## When to use\n\n- When the developer asks about hosting, deployment, or infrastructure options\n- When choosing between email services, analytics tools, auth providers, or databases\n- When evaluating tools for monitoring, file storage, or marketing\n- When the task requires selecting a third-party service and you want objective comparison\n\n## Instructions\n\n1. Call `codeloop_recommend_tool` with:\n - `category`: the type of tool needed (e.g., \"hosting\", \"email\", \"database\", \"analytics\", \"auth\", \"monitoring\", \"file-storage\")\n - `stack`: key-value pairs describing the current tech stack\n - `budget`: \"free\", \"low\", \"medium\", or \"enterprise\"\n - `constraints`: any specific requirements (e.g., `{\"gdpr\": true, \"region\": \"eu\"}`)\n\n2. The tool returns ranked recommendations with reasoning, pricing, tradeoffs, and starter tasks.\n\n3. Present the results with reasoning and tradeoffs \u2014 never just recommend a name without context.\n\n## Tips\n\n- Always include the current stack so recommendations account for compatibility\n- Set budget to match the developer's stated constraints\n- Use constraints for regulatory requirements (GDPR, SOC2, HIPAA)\n";
1
+ export * from "@codelooptech/shared/templates/cursor-skills";
5
2
  //# sourceMappingURL=cursor-skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-skills.d.ts","sourceRoot":"","sources":["../../src/templates/cursor-skills.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,u1DAuCtB,CAAC;AAEF,eAAO,MAAM,YAAY,4hDAsCxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,uqDA0C/B,CAAC;AAEF,eAAO,MAAM,eAAe,ihDAiC3B,CAAC"}
1
+ {"version":3,"file":"cursor-skills.d.ts","sourceRoot":"","sources":["../../src/templates/cursor-skills.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
@@ -1,157 +1,2 @@
1
- export const SKILL_LOOP = `---
2
- name: codeloop-loop
3
- description: Run the full CodeLoop verify-diagnose-fix cycle until all quality gates pass. Use when implementing a feature end-to-end or completing a development section that requires verified, production-ready code.
4
- ---
5
-
6
- # CodeLoop Loop
7
-
8
- Orchestrates the complete verification cycle for a feature or section.
9
-
10
- ## When to use
11
-
12
- - After implementing a feature or completing a code change that needs verification
13
- - When working through a multi-section development plan
14
- - When you need evidence-based confirmation that code is ready for review
15
-
16
- ## Instructions
17
-
18
- 1. Call \`codeloop_verify\` with the appropriate scope ("full" for entire project, "affected" for changed files only) and platform ("auto" to detect, or "flutter"/"web"/"mobile" explicitly)
19
-
20
- 2. Read the structured output. If all checks pass, proceed to step 5.
21
-
22
- 3. If there are failures, call \`codeloop_diagnose\` with the \`run_id\` from the verify result. Read the categorized issues and repair tasks carefully.
23
-
24
- 4. Fix ONLY the issues listed in the repair tasks. Do not guess or fix unrelated code. After fixing, go back to step 1 and re-verify. Repeat up to 8 times.
25
-
26
- 5. Call \`codeloop_gate_check\` with the \`run_id\`, the spec path, and the acceptance criteria path.
27
-
28
- 6. If gate_check returns:
29
- - \`"ready_for_review"\` with confidence >= 94% — the task is complete
30
- - \`"continue_fixing"\` — go back to step 1
31
- - \`"escalate"\` — stop and report blockers to the developer
32
-
33
- 7. If working through a multi-section plan, call \`codeloop_section_status\` to get the next section and repeat the entire cycle.
34
-
35
- ## Important
36
-
37
- - Never mark a task complete without evidence from \`codeloop_gate_check\`
38
- - After 8 failed repair attempts, escalate instead of continuing
39
- - Trust deterministic results (test pass/fail) over model opinions
40
- `;
41
- export const SKILL_VERIFY = `---
42
- name: codeloop-verify
43
- description: Run a single CodeLoop verification pass to check if the current code compiles, passes tests, and meets quality standards. Use after any code change to get structured pass/fail results.
44
- ---
45
-
46
- # CodeLoop Verify
47
-
48
- Runs a single verification pass and returns structured results.
49
-
50
- ## When to use
51
-
52
- - After making code changes and wanting a quick check
53
- - Before committing code to ensure nothing is broken
54
- - When you need structured test/lint/build output instead of raw terminal output
55
-
56
- ## Instructions
57
-
58
- 1. Call \`codeloop_verify\` with parameters:
59
- - \`scope\`: "full" (all checks) or "affected" (only changed files)
60
- - \`platform\`: "auto" (detect from project), "flutter", "web", or "mobile"
61
-
62
- 2. The tool returns a structured report containing:
63
- - Pass/fail counts for each check category
64
- - Artifact paths for logs and screenshots
65
- - A next-step suggestion
66
-
67
- 3. If there are failures, consider using the codeloop-loop skill for the full diagnose-fix cycle, or call \`codeloop_diagnose\` manually with the \`run_id\`.
68
-
69
- 4. If all checks pass, you can proceed with confidence or run \`codeloop_gate_check\` for formal completion evidence.
70
-
71
- ## Output format
72
-
73
- The verification result includes:
74
- - \`run_id\`: unique identifier for this run (needed by diagnose and gate_check)
75
- - \`summary\`: overall pass/fail with counts
76
- - \`checks\`: detailed results per category (build, tests, lint, format)
77
- - \`artifacts\`: paths to generated logs and screenshots
78
- - \`suggestion\`: recommended next action
79
- `;
80
- export const SKILL_VISUAL_REVIEW = `---
81
- name: codeloop-visual-review
82
- description: Capture screenshots of the current UI and analyze them for visual issues, layout problems, and design fidelity. Use after UI changes to catch visual regressions.
83
- ---
84
-
85
- # CodeLoop Visual Review
86
-
87
- Captures and analyzes UI screenshots for visual quality.
88
-
89
- ## When to use
90
-
91
- - After making UI/styling changes and wanting to verify visual correctness
92
- - When a design reference image is available and you want to compare against it
93
- - When checking responsive layout across different viewport sizes
94
- - When verifying accessibility-related visual aspects (contrast, sizing)
95
-
96
- ## Instructions
97
-
98
- ### For visual review (no reference image):
99
-
100
- 1. Call \`codeloop_visual_review\` with:
101
- - \`run_id\`: from a recent \`codeloop_verify\` run (optional)
102
- - \`viewport_sizes\`: array of viewport dimensions (e.g., ["375x812", "1440x900"])
103
- - \`ux_checklist_path\`: path to UX checklist if one exists
104
-
105
- 2. The tool captures screenshots at each viewport size and uses a vision model to identify issues.
106
-
107
- ### For design comparison (with reference image):
108
-
109
- 1. Call \`codeloop_design_compare\` with:
110
- - \`reference_image_path\`: path to the design mockup or Figma export
111
- - \`screen_name\`: identifier for the screen being compared
112
- - \`platform\`: the platform being tested
113
- - \`viewport_sizes\`: viewport dimensions to test
114
-
115
- 2. The tool returns a match score, list of differences, and comparison screenshots.
116
-
117
- ## Tips
118
-
119
- - Store design references in \`artifacts/references/\` for easy access
120
- - Run visual review after every UI change, not just at the end
121
- - Use the UX checklist template at \`docs/ux-checklists/_template.md\` for consistent checks
122
- `;
123
- export const SKILL_RECOMMEND = `---
124
- name: codeloop-recommend
125
- description: Get evidence-based recommendations for third-party tools and services based on the project stack, budget, and constraints. Use when choosing hosting, databases, email services, analytics, or any infrastructure.
126
- ---
127
-
128
- # CodeLoop Recommend
129
-
130
- Provides structured tool and service recommendations.
131
-
132
- ## When to use
133
-
134
- - When the developer asks about hosting, deployment, or infrastructure options
135
- - When choosing between email services, analytics tools, auth providers, or databases
136
- - When evaluating tools for monitoring, file storage, or marketing
137
- - When the task requires selecting a third-party service and you want objective comparison
138
-
139
- ## Instructions
140
-
141
- 1. Call \`codeloop_recommend_tool\` with:
142
- - \`category\`: the type of tool needed (e.g., "hosting", "email", "database", "analytics", "auth", "monitoring", "file-storage")
143
- - \`stack\`: key-value pairs describing the current tech stack
144
- - \`budget\`: "free", "low", "medium", or "enterprise"
145
- - \`constraints\`: any specific requirements (e.g., \`{"gdpr": true, "region": "eu"}\`)
146
-
147
- 2. The tool returns ranked recommendations with reasoning, pricing, tradeoffs, and starter tasks.
148
-
149
- 3. Present the results with reasoning and tradeoffs — never just recommend a name without context.
150
-
151
- ## Tips
152
-
153
- - Always include the current stack so recommendations account for compatibility
154
- - Set budget to match the developer's stated constraints
155
- - Use constraints for regulatory requirements (GDPR, SOC2, HIPAA)
156
- `;
1
+ export * from "@codelooptech/shared/templates/cursor-skills";
157
2
  //# sourceMappingURL=cursor-skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-skills.js","sourceRoot":"","sources":["../../src/templates/cursor-skills.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCzB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC3B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ClC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC9B,CAAC"}
1
+ {"version":3,"file":"cursor-skills.js","sourceRoot":"","sources":["../../src/templates/cursor-skills.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
@@ -1,38 +1,2 @@
1
- /**
2
- * Global agent rules written by `npx codeloop init --global`.
3
- *
4
- * These ensure that once a user installs CodeLoop globally, every workspace
5
- * the agent opens — even brand-new ones — automatically:
6
- * 1. Discovers the CodeLoop MCP server (via global mcp.json registration).
7
- * 2. Bootstraps the project on first use via `codeloop_init_project`.
8
- * 3. Runs the verify → diagnose → gate_check loop after every code change.
9
- *
10
- * Distribution channel per agent:
11
- * - Claude Code: `~/.claude/CLAUDE.md` (User Memory) is auto-loaded in every
12
- * workspace by Claude Code, alongside any per-project `CLAUDE.md`.
13
- * - Cursor: User Rules in Cursor live in the Settings UI (Cursor → Settings
14
- * → Rules), NOT in `~/.cursor/rules/`. So we do two things:
15
- * (a) write `~/.cursor/rules/codeloop.mdc` defensively in case Cursor
16
- * ever supports user-level rule files;
17
- * (b) save the same content to `~/.cursor/codeloop-user-rule.md` and
18
- * print it during `init --global` for the user to paste into
19
- * Cursor → Settings → Rules → User Rules. The MCP server is still
20
- * globally available regardless, and its tool descriptions self-
21
- * bootstrap any uninitialized workspace.
22
- */
23
- export declare const GLOBAL_CURSOR_RULE = "---\ndescription: CodeLoop \u2014 always-on verification across every Cursor workspace\nglobs: [\"**/*\"]\nalwaysApply: true\n---\n\n# CodeLoop is installed on this machine \u2014 use it in every workspace\n\nThe CodeLoop MCP server is registered globally in `~/.cursor/mcp.json`.\nIts tools are available in every workspace you open. You MUST use them\nwhenever you write or modify code.\n\n## On the first CodeLoop tool call in a workspace\n\nIf `.codeloop/config.json` does not yet exist in the workspace root:\n\n1. Call `codeloop_init_project` FIRST (before `codeloop_verify` or any other tool).\n It auto-creates `.codeloop/config.json`, agent rules, `.gitignore` entries,\n and an `artifacts/` directory tailored to the detected project type.\n2. Then proceed with the normal verification loop below.\n\nThe MCP server prepends a \"[CodeLoop] This project has not been initialized\"\nhint to every tool response in an uninitialized workspace. Treat that hint\nas an instruction, not a suggestion.\n\n## After every code change (every workspace, every project type)\n\n1. `codeloop_verify` \u2014 runs build, tests, and static analysis.\n2. If failures: `codeloop_diagnose` \u2192 fix the listed repair tasks \u2192 re-verify.\n Loop automatically; do NOT ask the user between iterations.\n3. For UI projects: `codeloop_capture_screenshot` for every page, then\n `codeloop_visual_review`. Then `codeloop_start_recording` \u2192\n `codeloop_interact` with every element \u2192 `codeloop_stop_recording` \u2192\n `codeloop_interaction_replay`.\n4. If `designs/` or `.codeloop/figma.json` exists, `codeloop_design_compare`\n with `mode: \"all\"` is MANDATORY before `gate_check`.\n5. `codeloop_gate_check` \u2014 must return `ready_for_review` with confidence\n >= 94 % and zero blocker gates. If it returns `continue_fixing`, loop\n back to step 1 immediately; do NOT ask the user.\n6. `codeloop_generate_dev_report` \u2014 writes `docs/DEVELOPMENT_LOG.md`.\n\n## Never\n\n- Never declare a coding task complete without evidence from `codeloop_gate_check`.\n- Never skip `codeloop_init_project` in a fresh workspace just because the\n project \"looks small\" \u2014 the bootstrap is fast and required.\n- Never skip the auto-fix loop after `continue_fixing`.\n- Never disable this rule per-project; project rules add to it, they do not\n replace it.\n";
24
- export declare const GLOBAL_CLAUDE_MEMORY = "# CodeLoop \u2014 always-on verification across every Claude Code workspace\n\nThe CodeLoop MCP server is registered globally in `~/.claude.json`.\nIts tools are available in every workspace you open. You MUST use them\nwhenever you write or modify code.\n\n## On the first CodeLoop tool call in a workspace\n\nIf `.codeloop/config.json` does not yet exist in the workspace root:\n\n1. Call `codeloop_init_project` FIRST (before `codeloop_verify` or any other\n CodeLoop tool). It auto-creates `.codeloop/config.json`, agent rules,\n `.gitignore` entries, and an `artifacts/` directory tailored to the\n detected project type.\n2. Then proceed with the normal verification loop below.\n\nThe MCP server prepends a \"[CodeLoop] This project has not been initialized\"\nhint to every tool response in an uninitialized workspace. Treat that hint\nas an instruction, not a suggestion.\n\n## After every code change (every workspace, every project type)\n\n1. `codeloop_verify` \u2014 runs build, tests, and static analysis.\n2. If failures: `codeloop_diagnose` \u2192 fix the listed repair tasks \u2192 re-verify.\n Loop automatically; do NOT ask the user between iterations.\n3. For UI projects: `codeloop_capture_screenshot` for every page, then\n `codeloop_visual_review`. Then `codeloop_start_recording` \u2192\n `codeloop_interact` with every element \u2192 `codeloop_stop_recording` \u2192\n `codeloop_interaction_replay`.\n4. If `designs/` or `.codeloop/figma.json` exists, `codeloop_design_compare`\n with `mode: \"all\"` is MANDATORY before `gate_check`.\n5. `codeloop_gate_check` \u2014 must return `ready_for_review` with confidence\n >= 94 % and zero blocker gates. If it returns `continue_fixing`, loop\n back to step 1 immediately; do NOT ask the user.\n6. `codeloop_generate_dev_report` \u2014 writes `docs/DEVELOPMENT_LOG.md`.\n\n## Never\n\n- Never declare a coding task complete without evidence from `codeloop_gate_check`.\n- Never skip `codeloop_init_project` in a fresh workspace just because the\n project \"looks small\" \u2014 the bootstrap is fast and required.\n- Never skip the auto-fix loop after `continue_fixing`.\n- Never disable this guidance per-project; per-project `CLAUDE.md` adds to\n it, it does not replace it.\n";
25
- /**
26
- * Plain-text snippet a user pastes into Cursor → Settings → Rules → User Rules.
27
- * Same intent as \`GLOBAL_CURSOR_RULE\` but without the \`.mdc\` frontmatter
28
- * (Cursor's User Rules input box is a plain textarea).
29
- */
30
- export declare const GLOBAL_CURSOR_USER_RULE_SNIPPET = "CodeLoop is installed on this machine. The CodeLoop MCP server is registered globally in ~/.cursor/mcp.json, so its tools are available in EVERY workspace. You MUST use them whenever you write or modify code.\n\nON THE FIRST CODELOOP TOOL CALL IN A WORKSPACE\nIf `.codeloop/config.json` does not yet exist in the workspace root:\n1. Call `codeloop_init_project` FIRST (before `codeloop_verify` or any other tool).\n It auto-creates `.codeloop/config.json`, agent rules, `.gitignore` entries,\n and an `artifacts/` directory tailored to the detected project type.\n2. Then proceed with the verification loop below.\nThe MCP server prepends a \"[CodeLoop] This project has not been initialized\" hint\nto every tool response in an uninitialized workspace. Treat that hint as an\ninstruction, not a suggestion.\n\nAFTER EVERY CODE CHANGE (every workspace, every project type)\n1. `codeloop_verify` \u2014 runs build, tests, and static analysis.\n2. If failures: `codeloop_diagnose` \u2192 fix the listed repair tasks \u2192 re-verify.\n Loop automatically; do NOT ask the user between iterations.\n3. For UI projects: `codeloop_capture_screenshot` for every page, then\n `codeloop_visual_review`. Then `codeloop_start_recording` \u2192\n `codeloop_interact` with every element \u2192 `codeloop_stop_recording` \u2192\n `codeloop_interaction_replay`.\n4. If `designs/` or `.codeloop/figma.json` exists, `codeloop_design_compare`\n with `mode: \"all\"` is MANDATORY before `gate_check`.\n5. `codeloop_gate_check` \u2014 must return `ready_for_review` with confidence\n >= 94% and zero blocker gates. If it returns `continue_fixing`, loop back\n to step 1 immediately; do NOT ask the user.\n6. `codeloop_generate_dev_report` \u2014 writes `docs/DEVELOPMENT_LOG.md`.\n\nNEVER\n- Never declare a coding task complete without evidence from `codeloop_gate_check`.\n- Never skip `codeloop_init_project` in a fresh workspace just because the\n project \"looks small\" \u2014 the bootstrap is fast and required.\n- Never skip the auto-fix loop after `continue_fixing`.\n- Never disable this rule per-project; project rules add to it, they do not\n replace it.\n";
31
- /**
32
- * Marker block used by \`mergeGlobalClaudeMemory\` to find and update the
33
- * CodeLoop section inside an existing \`~/.claude/CLAUDE.md\` without
34
- * clobbering anything else the user wrote there.
35
- */
36
- export declare const GLOBAL_CLAUDE_MEMORY_BEGIN = "<!-- BEGIN CODELOOP GLOBAL MEMORY -->";
37
- export declare const GLOBAL_CLAUDE_MEMORY_END = "<!-- END CODELOOP GLOBAL MEMORY -->";
1
+ export * from "@codelooptech/shared/templates/global-rules";
38
2
  //# sourceMappingURL=global-rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"global-rules.d.ts","sourceRoot":"","sources":["../../src/templates/global-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,kBAAkB,40EAiD9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,kuEA4ChC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,6nEAkC3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,0CAA0C,CAAC;AAClF,eAAO,MAAM,wBAAwB,wCAAwC,CAAC"}
1
+ {"version":3,"file":"global-rules.d.ts","sourceRoot":"","sources":["../../src/templates/global-rules.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC"}
@@ -1,165 +1,2 @@
1
- /**
2
- * Global agent rules written by `npx codeloop init --global`.
3
- *
4
- * These ensure that once a user installs CodeLoop globally, every workspace
5
- * the agent opens — even brand-new ones — automatically:
6
- * 1. Discovers the CodeLoop MCP server (via global mcp.json registration).
7
- * 2. Bootstraps the project on first use via `codeloop_init_project`.
8
- * 3. Runs the verify → diagnose → gate_check loop after every code change.
9
- *
10
- * Distribution channel per agent:
11
- * - Claude Code: `~/.claude/CLAUDE.md` (User Memory) is auto-loaded in every
12
- * workspace by Claude Code, alongside any per-project `CLAUDE.md`.
13
- * - Cursor: User Rules in Cursor live in the Settings UI (Cursor → Settings
14
- * → Rules), NOT in `~/.cursor/rules/`. So we do two things:
15
- * (a) write `~/.cursor/rules/codeloop.mdc` defensively in case Cursor
16
- * ever supports user-level rule files;
17
- * (b) save the same content to `~/.cursor/codeloop-user-rule.md` and
18
- * print it during `init --global` for the user to paste into
19
- * Cursor → Settings → Rules → User Rules. The MCP server is still
20
- * globally available regardless, and its tool descriptions self-
21
- * bootstrap any uninitialized workspace.
22
- */
23
- export const GLOBAL_CURSOR_RULE = `---
24
- description: CodeLoop — always-on verification across every Cursor workspace
25
- globs: ["**/*"]
26
- alwaysApply: true
27
- ---
28
-
29
- # CodeLoop is installed on this machine — use it in every workspace
30
-
31
- The CodeLoop MCP server is registered globally in \`~/.cursor/mcp.json\`.
32
- Its tools are available in every workspace you open. You MUST use them
33
- whenever you write or modify code.
34
-
35
- ## On the first CodeLoop tool call in a workspace
36
-
37
- If \`.codeloop/config.json\` does not yet exist in the workspace root:
38
-
39
- 1. Call \`codeloop_init_project\` FIRST (before \`codeloop_verify\` or any other tool).
40
- It auto-creates \`.codeloop/config.json\`, agent rules, \`.gitignore\` entries,
41
- and an \`artifacts/\` directory tailored to the detected project type.
42
- 2. Then proceed with the normal verification loop below.
43
-
44
- The MCP server prepends a "[CodeLoop] This project has not been initialized"
45
- hint to every tool response in an uninitialized workspace. Treat that hint
46
- as an instruction, not a suggestion.
47
-
48
- ## After every code change (every workspace, every project type)
49
-
50
- 1. \`codeloop_verify\` — runs build, tests, and static analysis.
51
- 2. If failures: \`codeloop_diagnose\` → fix the listed repair tasks → re-verify.
52
- Loop automatically; do NOT ask the user between iterations.
53
- 3. For UI projects: \`codeloop_capture_screenshot\` for every page, then
54
- \`codeloop_visual_review\`. Then \`codeloop_start_recording\` →
55
- \`codeloop_interact\` with every element → \`codeloop_stop_recording\` →
56
- \`codeloop_interaction_replay\`.
57
- 4. If \`designs/\` or \`.codeloop/figma.json\` exists, \`codeloop_design_compare\`
58
- with \`mode: "all"\` is MANDATORY before \`gate_check\`.
59
- 5. \`codeloop_gate_check\` — must return \`ready_for_review\` with confidence
60
- >= 94 % and zero blocker gates. If it returns \`continue_fixing\`, loop
61
- back to step 1 immediately; do NOT ask the user.
62
- 6. \`codeloop_generate_dev_report\` — writes \`docs/DEVELOPMENT_LOG.md\`.
63
-
64
- ## Never
65
-
66
- - Never declare a coding task complete without evidence from \`codeloop_gate_check\`.
67
- - Never skip \`codeloop_init_project\` in a fresh workspace just because the
68
- project "looks small" — the bootstrap is fast and required.
69
- - Never skip the auto-fix loop after \`continue_fixing\`.
70
- - Never disable this rule per-project; project rules add to it, they do not
71
- replace it.
72
- `;
73
- export const GLOBAL_CLAUDE_MEMORY = `# CodeLoop — always-on verification across every Claude Code workspace
74
-
75
- The CodeLoop MCP server is registered globally in \`~/.claude.json\`.
76
- Its tools are available in every workspace you open. You MUST use them
77
- whenever you write or modify code.
78
-
79
- ## On the first CodeLoop tool call in a workspace
80
-
81
- If \`.codeloop/config.json\` does not yet exist in the workspace root:
82
-
83
- 1. Call \`codeloop_init_project\` FIRST (before \`codeloop_verify\` or any other
84
- CodeLoop tool). It auto-creates \`.codeloop/config.json\`, agent rules,
85
- \`.gitignore\` entries, and an \`artifacts/\` directory tailored to the
86
- detected project type.
87
- 2. Then proceed with the normal verification loop below.
88
-
89
- The MCP server prepends a "[CodeLoop] This project has not been initialized"
90
- hint to every tool response in an uninitialized workspace. Treat that hint
91
- as an instruction, not a suggestion.
92
-
93
- ## After every code change (every workspace, every project type)
94
-
95
- 1. \`codeloop_verify\` — runs build, tests, and static analysis.
96
- 2. If failures: \`codeloop_diagnose\` → fix the listed repair tasks → re-verify.
97
- Loop automatically; do NOT ask the user between iterations.
98
- 3. For UI projects: \`codeloop_capture_screenshot\` for every page, then
99
- \`codeloop_visual_review\`. Then \`codeloop_start_recording\` →
100
- \`codeloop_interact\` with every element → \`codeloop_stop_recording\` →
101
- \`codeloop_interaction_replay\`.
102
- 4. If \`designs/\` or \`.codeloop/figma.json\` exists, \`codeloop_design_compare\`
103
- with \`mode: "all"\` is MANDATORY before \`gate_check\`.
104
- 5. \`codeloop_gate_check\` — must return \`ready_for_review\` with confidence
105
- >= 94 % and zero blocker gates. If it returns \`continue_fixing\`, loop
106
- back to step 1 immediately; do NOT ask the user.
107
- 6. \`codeloop_generate_dev_report\` — writes \`docs/DEVELOPMENT_LOG.md\`.
108
-
109
- ## Never
110
-
111
- - Never declare a coding task complete without evidence from \`codeloop_gate_check\`.
112
- - Never skip \`codeloop_init_project\` in a fresh workspace just because the
113
- project "looks small" — the bootstrap is fast and required.
114
- - Never skip the auto-fix loop after \`continue_fixing\`.
115
- - Never disable this guidance per-project; per-project \`CLAUDE.md\` adds to
116
- it, it does not replace it.
117
- `;
118
- /**
119
- * Plain-text snippet a user pastes into Cursor → Settings → Rules → User Rules.
120
- * Same intent as \`GLOBAL_CURSOR_RULE\` but without the \`.mdc\` frontmatter
121
- * (Cursor's User Rules input box is a plain textarea).
122
- */
123
- export const GLOBAL_CURSOR_USER_RULE_SNIPPET = `CodeLoop is installed on this machine. The CodeLoop MCP server is registered globally in ~/.cursor/mcp.json, so its tools are available in EVERY workspace. You MUST use them whenever you write or modify code.
124
-
125
- ON THE FIRST CODELOOP TOOL CALL IN A WORKSPACE
126
- If \`.codeloop/config.json\` does not yet exist in the workspace root:
127
- 1. Call \`codeloop_init_project\` FIRST (before \`codeloop_verify\` or any other tool).
128
- It auto-creates \`.codeloop/config.json\`, agent rules, \`.gitignore\` entries,
129
- and an \`artifacts/\` directory tailored to the detected project type.
130
- 2. Then proceed with the verification loop below.
131
- The MCP server prepends a "[CodeLoop] This project has not been initialized" hint
132
- to every tool response in an uninitialized workspace. Treat that hint as an
133
- instruction, not a suggestion.
134
-
135
- AFTER EVERY CODE CHANGE (every workspace, every project type)
136
- 1. \`codeloop_verify\` — runs build, tests, and static analysis.
137
- 2. If failures: \`codeloop_diagnose\` → fix the listed repair tasks → re-verify.
138
- Loop automatically; do NOT ask the user between iterations.
139
- 3. For UI projects: \`codeloop_capture_screenshot\` for every page, then
140
- \`codeloop_visual_review\`. Then \`codeloop_start_recording\` →
141
- \`codeloop_interact\` with every element → \`codeloop_stop_recording\` →
142
- \`codeloop_interaction_replay\`.
143
- 4. If \`designs/\` or \`.codeloop/figma.json\` exists, \`codeloop_design_compare\`
144
- with \`mode: "all"\` is MANDATORY before \`gate_check\`.
145
- 5. \`codeloop_gate_check\` — must return \`ready_for_review\` with confidence
146
- >= 94% and zero blocker gates. If it returns \`continue_fixing\`, loop back
147
- to step 1 immediately; do NOT ask the user.
148
- 6. \`codeloop_generate_dev_report\` — writes \`docs/DEVELOPMENT_LOG.md\`.
149
-
150
- NEVER
151
- - Never declare a coding task complete without evidence from \`codeloop_gate_check\`.
152
- - Never skip \`codeloop_init_project\` in a fresh workspace just because the
153
- project "looks small" — the bootstrap is fast and required.
154
- - Never skip the auto-fix loop after \`continue_fixing\`.
155
- - Never disable this rule per-project; project rules add to it, they do not
156
- replace it.
157
- `;
158
- /**
159
- * Marker block used by \`mergeGlobalClaudeMemory\` to find and update the
160
- * CodeLoop section inside an existing \`~/.claude/CLAUDE.md\` without
161
- * clobbering anything else the user wrote there.
162
- */
163
- export const GLOBAL_CLAUDE_MEMORY_BEGIN = "<!-- BEGIN CODELOOP GLOBAL MEMORY -->";
164
- export const GLOBAL_CLAUDE_MEMORY_END = "<!-- END CODELOOP GLOBAL MEMORY -->";
1
+ export * from "@codelooptech/shared/templates/global-rules";
165
2
  //# sourceMappingURL=global-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"global-rules.js","sourceRoot":"","sources":["../../src/templates/global-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDjC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC9C,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,uCAAuC,CAAC;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG,qCAAqC,CAAC"}
1
+ {"version":3,"file":"global-rules.js","sourceRoot":"","sources":["../../src/templates/global-rules.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC"}
@@ -1,32 +1,2 @@
1
- export declare const CURSOR_MCP_CONFIG: {
2
- mcpServers: {
3
- codeloop: {
4
- command: string;
5
- args: string[];
6
- env: {
7
- CODELOOP_API_KEY: string;
8
- };
9
- };
10
- };
11
- };
12
- export declare const CLAUDE_MCP_CONFIG: {
13
- mcpServers: {
14
- codeloop: {
15
- command: string;
16
- args: string[];
17
- env: {
18
- CODELOOP_API_KEY: string;
19
- };
20
- };
21
- };
22
- };
23
- /**
24
- * Returns MCP config with the actual API key value injected.
25
- * When apiKey is provided, writes the real key instead of the env placeholder.
26
- * This is critical for Claude Code which doesn't expand shell env vars in JSON.
27
- */
28
- export declare function getMcpConfig(apiKey?: string | null): {
29
- mcpServers: Record<string, unknown>;
30
- };
31
- export declare const CLAUDE_PERMISSIONS_ALLOW: string[];
1
+ export * from "@codelooptech/shared/templates/mcp-config";
32
2
  //# sourceMappingURL=mcp-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../../src/templates/mcp-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;CAU7B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;CAU7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAY5F;AAED,eAAO,MAAM,wBAAwB,UA2BpC,CAAC"}
1
+ {"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../../src/templates/mcp-config.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC"}
@@ -1,69 +1,2 @@
1
- export const CURSOR_MCP_CONFIG = {
2
- mcpServers: {
3
- codeloop: {
4
- command: "npx",
5
- args: ["-y", "codeloop-mcp-server"],
6
- env: {
7
- CODELOOP_API_KEY: "${CODELOOP_API_KEY}",
8
- },
9
- },
10
- },
11
- };
12
- export const CLAUDE_MCP_CONFIG = {
13
- mcpServers: {
14
- codeloop: {
15
- command: "npx",
16
- args: ["-y", "codeloop-mcp-server"],
17
- env: {
18
- CODELOOP_API_KEY: "${CODELOOP_API_KEY}",
19
- },
20
- },
21
- },
22
- };
23
- /**
24
- * Returns MCP config with the actual API key value injected.
25
- * When apiKey is provided, writes the real key instead of the env placeholder.
26
- * This is critical for Claude Code which doesn't expand shell env vars in JSON.
27
- */
28
- export function getMcpConfig(apiKey) {
29
- return {
30
- mcpServers: {
31
- codeloop: {
32
- command: "npx",
33
- args: ["-y", "codeloop-mcp-server"],
34
- env: {
35
- CODELOOP_API_KEY: apiKey || "${CODELOOP_API_KEY}",
36
- },
37
- },
38
- },
39
- };
40
- }
41
- export const CLAUDE_PERMISSIONS_ALLOW = [
42
- "Bash(flutter *)",
43
- "Bash(dart *)",
44
- "Bash(npm *)",
45
- "Bash(npx *)",
46
- "Bash(node *)",
47
- "Bash(git *)",
48
- "Bash(brew *)",
49
- "Bash(ffmpeg *)",
50
- "Bash(ffprobe *)",
51
- "Bash(screencapture *)",
52
- "Bash(pod *)",
53
- "Bash(mkdir *)",
54
- "Bash(cp *)",
55
- "Bash(mv *)",
56
- "Bash(rm *)",
57
- "Bash(cat *)",
58
- "Bash(ls *)",
59
- "Bash(which *)",
60
- "Bash(curl *)",
61
- "Bash(grep *)",
62
- "Bash(find *)",
63
- "Bash(head *)",
64
- "Bash(tail *)",
65
- "Bash(wc *)",
66
- "Bash(echo *)",
67
- "Bash(pwd)",
68
- ];
1
+ export * from "@codelooptech/shared/templates/mcp-config";
69
2
  //# sourceMappingURL=mcp-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../src/templates/mcp-config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC;YACnC,GAAG,EAAE;gBACH,gBAAgB,EAAE,qBAAqB;aACxC;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC;YACnC,GAAG,EAAE;gBACH,gBAAgB,EAAE,qBAAqB;aACxC;SACF;KACF;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAsB;IACjD,OAAO;QACL,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC;gBACnC,GAAG,EAAE;oBACH,gBAAgB,EAAE,MAAM,IAAI,qBAAqB;iBAClD;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,iBAAiB;IACjB,cAAc;IACd,aAAa;IACb,aAAa;IACb,cAAc;IACd,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,uBAAuB;IACvB,aAAa;IACb,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,eAAe;IACf,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,YAAY;IACZ,cAAc;IACd,WAAW;CACZ,CAAC"}
1
+ {"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../src/templates/mcp-config.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC"}
@@ -1,4 +1,2 @@
1
- export declare const SPEC_TEMPLATE = "# Section: [Section Name]\n\n## Goal\n[What this section implements]\n\n## User Stories\n- As a [user type], I want to [action] so that [benefit]\n\n## Requirements\n- [ ] [Requirement 1]\n- [ ] [Requirement 2]\n- [ ] [Requirement 3]\n\n## UI/UX Notes\n[Design constraints, responsive behavior, states to handle]\n\n## Dependencies\n- Depends on: [list section IDs this depends on]\n- Shared services: [list any shared services this section uses or creates]\n\n## Out of Scope\n[What this section does NOT cover]\n";
2
- export declare const ACCEPTANCE_TEMPLATE = "# Acceptance Criteria: [Section Name]\n\n## Functional Criteria\n- [ ] [Criterion 1 \u2014 what the section must do]\n- [ ] [Criterion 2]\n- [ ] [Criterion 3]\n\n## Non-Functional Criteria\n- [ ] Loading states appear for async operations\n- [ ] Error states are handled with user-friendly messages\n- [ ] Responsive on mobile and desktop viewports\n- [ ] No critical accessibility issues\n\n## Test Evidence Required\n- [ ] Unit tests pass for core logic\n- [ ] Integration tests pass for key flows\n- [ ] Screenshots captured at configured viewports\n- [ ] No runtime errors in logs\n";
3
- export declare const UX_CHECKLIST_TEMPLATE = "# UX Checklist: [Section Name]\n\n## Visual Quality\n- [ ] Fonts render correctly at all sizes\n- [ ] Colors match design system tokens\n- [ ] Spacing is consistent with design grid\n- [ ] Icons are crisp and appropriately sized\n\n## Interaction\n- [ ] Buttons have hover and active states\n- [ ] Forms validate inline\n- [ ] Loading indicators appear for async actions\n- [ ] Error messages are clear and actionable\n\n## Responsiveness\n- [ ] Mobile (375px): layout adapts, no horizontal scroll\n- [ ] Tablet (768px): layout uses available space\n- [ ] Desktop (1440px): content is centered and readable\n\n## Accessibility\n- [ ] Color contrast meets WCAG AA\n- [ ] Touch targets are at least 44x44px\n- [ ] Interactive elements are keyboard-accessible\n- [ ] Screen reader labels are present\n";
1
+ export * from "@codelooptech/shared/templates/specs";
4
2
  //# sourceMappingURL=specs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../src/templates/specs.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,ugBAsBzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,+kBAkB/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,myBAwBjC,CAAC"}
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../src/templates/specs.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}
@@ -1,68 +1,2 @@
1
- export const SPEC_TEMPLATE = `# Section: [Section Name]
2
-
3
- ## Goal
4
- [What this section implements]
5
-
6
- ## User Stories
7
- - As a [user type], I want to [action] so that [benefit]
8
-
9
- ## Requirements
10
- - [ ] [Requirement 1]
11
- - [ ] [Requirement 2]
12
- - [ ] [Requirement 3]
13
-
14
- ## UI/UX Notes
15
- [Design constraints, responsive behavior, states to handle]
16
-
17
- ## Dependencies
18
- - Depends on: [list section IDs this depends on]
19
- - Shared services: [list any shared services this section uses or creates]
20
-
21
- ## Out of Scope
22
- [What this section does NOT cover]
23
- `;
24
- export const ACCEPTANCE_TEMPLATE = `# Acceptance Criteria: [Section Name]
25
-
26
- ## Functional Criteria
27
- - [ ] [Criterion 1 — what the section must do]
28
- - [ ] [Criterion 2]
29
- - [ ] [Criterion 3]
30
-
31
- ## Non-Functional Criteria
32
- - [ ] Loading states appear for async operations
33
- - [ ] Error states are handled with user-friendly messages
34
- - [ ] Responsive on mobile and desktop viewports
35
- - [ ] No critical accessibility issues
36
-
37
- ## Test Evidence Required
38
- - [ ] Unit tests pass for core logic
39
- - [ ] Integration tests pass for key flows
40
- - [ ] Screenshots captured at configured viewports
41
- - [ ] No runtime errors in logs
42
- `;
43
- export const UX_CHECKLIST_TEMPLATE = `# UX Checklist: [Section Name]
44
-
45
- ## Visual Quality
46
- - [ ] Fonts render correctly at all sizes
47
- - [ ] Colors match design system tokens
48
- - [ ] Spacing is consistent with design grid
49
- - [ ] Icons are crisp and appropriately sized
50
-
51
- ## Interaction
52
- - [ ] Buttons have hover and active states
53
- - [ ] Forms validate inline
54
- - [ ] Loading indicators appear for async actions
55
- - [ ] Error messages are clear and actionable
56
-
57
- ## Responsiveness
58
- - [ ] Mobile (375px): layout adapts, no horizontal scroll
59
- - [ ] Tablet (768px): layout uses available space
60
- - [ ] Desktop (1440px): content is centered and readable
61
-
62
- ## Accessibility
63
- - [ ] Color contrast meets WCAG AA
64
- - [ ] Touch targets are at least 44x44px
65
- - [ ] Interactive elements are keyboard-accessible
66
- - [ ] Screen reader labels are present
67
- `;
1
+ export * from "@codelooptech/shared/templates/specs";
68
2
  //# sourceMappingURL=specs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../src/templates/specs.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsB5B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;CAkBlC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBpC,CAAC"}
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../src/templates/specs.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}