@sixfactors-ai/codeloop 0.1.0

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 (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +214 -0
  3. package/dist/__tests__/integration/skill-board.test.d.ts +1 -0
  4. package/dist/__tests__/integration/skill-board.test.js +76 -0
  5. package/dist/__tests__/integration/skill-board.test.js.map +1 -0
  6. package/dist/__tests__/integration/tdd-planning.test.d.ts +1 -0
  7. package/dist/__tests__/integration/tdd-planning.test.js +41 -0
  8. package/dist/__tests__/integration/tdd-planning.test.js.map +1 -0
  9. package/dist/commands/init.d.ts +2 -0
  10. package/dist/commands/init.js +115 -0
  11. package/dist/commands/init.js.map +1 -0
  12. package/dist/commands/serve.d.ts +7 -0
  13. package/dist/commands/serve.js +113 -0
  14. package/dist/commands/serve.js.map +1 -0
  15. package/dist/commands/status.d.ts +2 -0
  16. package/dist/commands/status.js +177 -0
  17. package/dist/commands/status.js.map +1 -0
  18. package/dist/commands/update.d.ts +2 -0
  19. package/dist/commands/update.js +95 -0
  20. package/dist/commands/update.js.map +1 -0
  21. package/dist/index.d.ts +2 -0
  22. package/dist/index.js +17 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/lib/__tests__/board.test.d.ts +1 -0
  25. package/dist/lib/__tests__/board.test.js +220 -0
  26. package/dist/lib/__tests__/board.test.js.map +1 -0
  27. package/dist/lib/__tests__/scaffold.test.d.ts +1 -0
  28. package/dist/lib/__tests__/scaffold.test.js +39 -0
  29. package/dist/lib/__tests__/scaffold.test.js.map +1 -0
  30. package/dist/lib/__tests__/serve.test.d.ts +1 -0
  31. package/dist/lib/__tests__/serve.test.js +57 -0
  32. package/dist/lib/__tests__/serve.test.js.map +1 -0
  33. package/dist/lib/__tests__/server.test.d.ts +1 -0
  34. package/dist/lib/__tests__/server.test.js +100 -0
  35. package/dist/lib/__tests__/server.test.js.map +1 -0
  36. package/dist/lib/__tests__/smoke.test.d.ts +1 -0
  37. package/dist/lib/__tests__/smoke.test.js +7 -0
  38. package/dist/lib/__tests__/smoke.test.js.map +1 -0
  39. package/dist/lib/board.d.ts +38 -0
  40. package/dist/lib/board.js +86 -0
  41. package/dist/lib/board.js.map +1 -0
  42. package/dist/lib/detect.d.ts +13 -0
  43. package/dist/lib/detect.js +60 -0
  44. package/dist/lib/detect.js.map +1 -0
  45. package/dist/lib/scaffold.d.ts +8 -0
  46. package/dist/lib/scaffold.js +105 -0
  47. package/dist/lib/scaffold.js.map +1 -0
  48. package/dist/lib/server.d.ts +5 -0
  49. package/dist/lib/server.js +125 -0
  50. package/dist/lib/server.js.map +1 -0
  51. package/dist/lib/version.d.ts +10 -0
  52. package/dist/lib/version.js +27 -0
  53. package/dist/lib/version.js.map +1 -0
  54. package/dist/ui/404.html +1 -0
  55. package/dist/ui/_next/static/XkK-IaWE1h2_WYJHhUKNa/_buildManifest.js +1 -0
  56. package/dist/ui/_next/static/XkK-IaWE1h2_WYJHhUKNa/_ssgManifest.js +1 -0
  57. package/dist/ui/_next/static/chunks/255-54d3085ce94738a4.js +1 -0
  58. package/dist/ui/_next/static/chunks/423-bb541b7ae2733575.js +1 -0
  59. package/dist/ui/_next/static/chunks/4bd1b696-c023c6e3521b1417.js +1 -0
  60. package/dist/ui/_next/static/chunks/app/_not-found/page-d6bc774f7acb716e.js +1 -0
  61. package/dist/ui/_next/static/chunks/app/layout-e5fc8e78e1c8da95.js +1 -0
  62. package/dist/ui/_next/static/chunks/app/page-a1867b0e8c871ff8.js +1 -0
  63. package/dist/ui/_next/static/chunks/framework-de98b93a850cfc71.js +1 -0
  64. package/dist/ui/_next/static/chunks/main-49fd204fc9037ea3.js +1 -0
  65. package/dist/ui/_next/static/chunks/main-app-c46afa2f48f3aaef.js +1 -0
  66. package/dist/ui/_next/static/chunks/pages/_app-7d307437aca18ad4.js +1 -0
  67. package/dist/ui/_next/static/chunks/pages/_error-cb2a52f75f2162e2.js +1 -0
  68. package/dist/ui/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  69. package/dist/ui/_next/static/chunks/webpack-4a462cecab786e93.js +1 -0
  70. package/dist/ui/_next/static/css/721d4a8588775f36.css +1 -0
  71. package/dist/ui/index.html +1 -0
  72. package/dist/ui/index.txt +19 -0
  73. package/package.json +53 -0
  74. package/starters/generic.yaml +45 -0
  75. package/starters/go.yaml +47 -0
  76. package/starters/node-typescript.yaml +56 -0
  77. package/starters/python.yaml +50 -0
  78. package/templates/codeloop/board.json +5 -0
  79. package/templates/codeloop/gotchas.md +13 -0
  80. package/templates/codeloop/patterns.md +15 -0
  81. package/templates/codeloop/principles.md +49 -0
  82. package/templates/codeloop/rules.md +23 -0
  83. package/templates/commands/commit.md +245 -0
  84. package/templates/commands/manage.md +77 -0
  85. package/templates/commands/plan.md +83 -0
  86. package/templates/commands/reflect.md +93 -0
  87. package/templates/tasks/todo.md +3 -0
@@ -0,0 +1,93 @@
1
+ ---
2
+ description: Session-end reflection — capture what you learned
3
+ allowed-tools: Read, Write, Edit, Glob, Grep, AskUserQuestion, Bash
4
+ ---
5
+
6
+ <!-- codeloop-version: 0.1.0 -->
7
+
8
+ # /reflect
9
+
10
+ Pause and think about what happened this session. Propose changes — but **nothing gets written without approval**.
11
+
12
+ > **Tip:** For lightweight inline reflection during commits, `/commit` Phase 2 handles it automatically. Use standalone `/reflect` for deeper multi-commit session reviews.
13
+
14
+ ## Phase 1: Think
15
+
16
+ Look back at the session and identify:
17
+
18
+ 1. **Gotchas** — Unexpected behavior, hidden dependencies, undocumented quirks
19
+ 2. **Better approaches** — Wrong turns, wasted time, things you'd do differently
20
+ 3. **Patterns** — Approaches that worked well, shortcuts discovered
21
+ 4. **Frequency updates** — Gotchas re-encountered this session (increment freq)
22
+
23
+ Read `.codeloop/gotchas.md` and `.codeloop/patterns.md` to check for existing entries that were re-encountered.
24
+
25
+ ## Phase 2: Propose
26
+
27
+ Present a **numbered list** of everything you want to do. Group by type:
28
+
29
+ ```
30
+ ## Proposed changes
31
+
32
+ ### Gotchas
33
+ 1. NEW: "<description>" → .codeloop/gotchas.md [freq:1]
34
+ 2. INCREMENT: "<existing gotcha>" freq:2 → freq:3
35
+
36
+ ### Patterns
37
+ 3. NEW: "<description>" → .codeloop/patterns.md
38
+
39
+ ### Rules
40
+ 4. PROMOTE: "<gotcha at freq 10+>" → .codeloop/rules.md
41
+ ```
42
+
43
+ Then use **AskUserQuestion** with multiSelect to let the user pick which items to apply. Include all items as options.
44
+
45
+ ## Phase 3: Apply
46
+
47
+ Only apply the items the user selected. Skip everything else.
48
+
49
+ ### Writing gotchas
50
+
51
+ New gotchas follow this format:
52
+
53
+ ```markdown
54
+ ### [freq:1] Short descriptive title
55
+ **Applies to:** <scope or context>
56
+ **Source:** Discovered <date>
57
+
58
+ <Description of the gotcha, what went wrong, and the fix>
59
+ ```
60
+
61
+ Place in the appropriate section (create section if needed, matching config.yaml scope sections).
62
+
63
+ ### Incrementing frequency
64
+
65
+ Find the existing entry, update `[freq:N]` to `[freq:N+1]`.
66
+
67
+ ### Writing patterns
68
+
69
+ New patterns follow this format:
70
+
71
+ ```markdown
72
+ ### Pattern Title
73
+ **Confidence:** LOW/MEDIUM/HIGH
74
+ **Applies to:** <scope or context>
75
+
76
+ <Description of the pattern with code example if applicable>
77
+ ```
78
+
79
+ ### Promoting to rules
80
+
81
+ When a gotcha reaches freq >= 10, suggest promoting to `.codeloop/rules.md`:
82
+ 1. Write a concise rule in rules.md
83
+ 2. Add a note to the gotcha: `**Promoted to rules.md**`
84
+
85
+ After applying, one-line summary: what was saved and where.
86
+
87
+ ## Rules
88
+
89
+ - If nothing worth saving, just say "Nothing new to capture" and stop
90
+ - No scoring rubrics, no ceremony
91
+ - Keep knowledge files concise — trim old low-freq entries if files get too long
92
+ - **Never write to any file without approval from Phase 2**
93
+ - Frequency = severity: the more a gotcha recurs, the more important it becomes
@@ -0,0 +1,3 @@
1
+ # Tasks
2
+
3
+ <!-- Current task plan. Updated by /plan and /manage. -->