codymaster 4.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 (193) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +285 -0
  3. package/adapters/antigravity.js +15 -0
  4. package/adapters/claude-code.js +17 -0
  5. package/adapters/cursor.js +16 -0
  6. package/commands/bootstrap.md +49 -0
  7. package/commands/build.md +48 -0
  8. package/commands/content.md +48 -0
  9. package/commands/continuity.md +60 -0
  10. package/commands/debug.md +51 -0
  11. package/commands/demo.md +96 -0
  12. package/commands/deploy.md +51 -0
  13. package/commands/plan.md +42 -0
  14. package/commands/review.md +55 -0
  15. package/commands/track.md +46 -0
  16. package/commands/ux.md +46 -0
  17. package/dist/agent-dispatch.js +161 -0
  18. package/dist/chains/builtin.js +85 -0
  19. package/dist/continuity.js +385 -0
  20. package/dist/dashboard.js +926 -0
  21. package/dist/data.js +122 -0
  22. package/dist/index.js +2434 -0
  23. package/dist/judge.js +252 -0
  24. package/dist/parallel-dispatch.js +359 -0
  25. package/dist/parallel-quality.js +172 -0
  26. package/dist/skill-chain.js +258 -0
  27. package/install.sh +513 -0
  28. package/package.json +79 -0
  29. package/skills/.content-factory-state.json +132 -0
  30. package/skills/.git 2/logs/refs/heads/main +1 -0
  31. package/skills/.git 2/logs/refs/remotes/origin/main +1 -0
  32. package/skills/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
  33. package/skills/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
  34. package/skills/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
  35. package/skills/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
  36. package/skills/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
  37. package/skills/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
  38. package/skills/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
  39. package/skills/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
  40. package/skills/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
  41. package/skills/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
  42. package/skills/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
  43. package/skills/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
  44. package/skills/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
  45. package/skills/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
  46. package/skills/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
  47. package/skills/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
  48. package/skills/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
  49. package/skills/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
  50. package/skills/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
  51. package/skills/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
  52. package/skills/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
  53. package/skills/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
  54. package/skills/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
  55. package/skills/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
  56. package/skills/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
  57. package/skills/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
  58. package/skills/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
  59. package/skills/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
  60. package/skills/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
  61. package/skills/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
  62. package/skills/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
  63. package/skills/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
  64. package/skills/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
  65. package/skills/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
  66. package/skills/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
  67. package/skills/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
  68. package/skills/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
  69. package/skills/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
  70. package/skills/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
  71. package/skills/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
  72. package/skills/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
  73. package/skills/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
  74. package/skills/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
  75. package/skills/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
  76. package/skills/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
  77. package/skills/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
  78. package/skills/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
  79. package/skills/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
  80. package/skills/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
  81. package/skills/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
  82. package/skills/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
  83. package/skills/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
  84. package/skills/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
  85. package/skills/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
  86. package/skills/.git 2/refs/heads/main +1 -0
  87. package/skills/.git 2/refs/remotes/origin/main +1 -0
  88. package/skills/.pytest_cache 2/v/cache/nodeids +76 -0
  89. package/skills/.pytest_cache 2/v/cache/stepwise +1 -0
  90. package/skills/_shared/helpers.md +123 -0
  91. package/skills/_shared/outputs-convention.md +24 -0
  92. package/skills/cm-ads-tracker/SKILL.md +109 -0
  93. package/skills/cm-ads-tracker/evals/evals.json +55 -0
  94. package/skills/cm-ads-tracker/references/gtm-architecture.md +321 -0
  95. package/skills/cm-ads-tracker/references/industry-events.md +294 -0
  96. package/skills/cm-ads-tracker/references/platforms-api.md +238 -0
  97. package/skills/cm-ads-tracker/templates/capi-payload.md +79 -0
  98. package/skills/cm-ads-tracker/templates/datalayer-push.js +104 -0
  99. package/skills/cm-ads-tracker/templates/gtm-variables.js +56 -0
  100. package/skills/cm-brainstorm-idea/SKILL.md +423 -0
  101. package/skills/cm-code-review/SKILL.md +151 -0
  102. package/skills/cm-content-factory/SKILL.md +416 -0
  103. package/skills/cm-continuity/SKILL.md +399 -0
  104. package/skills/cm-dashboard/SKILL.md +533 -0
  105. package/skills/cm-dashboard/ui/app.js +1270 -0
  106. package/skills/cm-dashboard/ui/index.html +206 -0
  107. package/skills/cm-dashboard/ui/style.css +440 -0
  108. package/skills/cm-debugging/SKILL.md +412 -0
  109. package/skills/cm-deep-search/SKILL.md +242 -0
  110. package/skills/cm-design-system/SKILL.md +97 -0
  111. package/skills/cm-design-system/resources/halo-modern.md +40 -0
  112. package/skills/cm-design-system/resources/lunaris-advanced.md +40 -0
  113. package/skills/cm-design-system/resources/nitro-enterprise.md +39 -0
  114. package/skills/cm-design-system/resources/shadcn-default.md +37 -0
  115. package/skills/cm-dockit/README.md +100 -0
  116. package/skills/cm-dockit/SKILL.md +302 -0
  117. package/skills/cm-dockit/index.html +443 -0
  118. package/skills/cm-dockit/package-lock.json +1850 -0
  119. package/skills/cm-dockit/package.json +14 -0
  120. package/skills/cm-dockit/prompts/analysis.md +34 -0
  121. package/skills/cm-dockit/prompts/api-reference.md +24 -0
  122. package/skills/cm-dockit/prompts/architecture.md +21 -0
  123. package/skills/cm-dockit/prompts/data-flow.md +20 -0
  124. package/skills/cm-dockit/prompts/database.md +21 -0
  125. package/skills/cm-dockit/prompts/deployment.md +22 -0
  126. package/skills/cm-dockit/prompts/flows.md +21 -0
  127. package/skills/cm-dockit/prompts/jtbd.md +20 -0
  128. package/skills/cm-dockit/prompts/personas.md +24 -0
  129. package/skills/cm-dockit/prompts/sop-modules.md +40 -0
  130. package/skills/cm-dockit/scripts/doc-gen.sh +121 -0
  131. package/skills/cm-dockit/scripts/dockit-dashboard.sh +142 -0
  132. package/skills/cm-dockit/scripts/dockit-runner.sh +607 -0
  133. package/skills/cm-dockit/scripts/dockit-task.sh +166 -0
  134. package/skills/cm-dockit/skills/analyze-codebase.md +174 -0
  135. package/skills/cm-dockit/skills/api-reference.md +237 -0
  136. package/skills/cm-dockit/skills/changelog-guide.md +195 -0
  137. package/skills/cm-dockit/skills/content-guidelines.md +190 -0
  138. package/skills/cm-dockit/skills/sop-guide.md +184 -0
  139. package/skills/cm-dockit/skills/tech-docs.md +287 -0
  140. package/skills/cm-dockit/templates/markdown/structure.md +60 -0
  141. package/skills/cm-dockit/templates/vitepress-premium/.vitepress/config.mts +110 -0
  142. package/skills/cm-dockit/templates/vitepress-premium/.vitepress/theme/custom.css +189 -0
  143. package/skills/cm-dockit/templates/vitepress-premium/.vitepress/theme/index.ts +4 -0
  144. package/skills/cm-dockit/templates/vitepress-premium/package.json +19 -0
  145. package/skills/cm-dockit/templates/vitepress-premium/tests/frontend.test.ts +45 -0
  146. package/skills/cm-dockit/tests/runner.test.ts +66 -0
  147. package/skills/cm-dockit/workflows/export-markdown.md +82 -0
  148. package/skills/cm-dockit/workflows/generate-docs.md +68 -0
  149. package/skills/cm-dockit/workflows/setup-vitepress.md +181 -0
  150. package/skills/cm-example/SKILL.md +26 -0
  151. package/skills/cm-execution/SKILL.md +268 -0
  152. package/skills/cm-git-worktrees/SKILL.md +164 -0
  153. package/skills/cm-how-it-work/SKILL.md +189 -0
  154. package/skills/cm-identity-guard/SKILL.md +412 -0
  155. package/skills/cm-jtbd/SKILL.md +98 -0
  156. package/skills/cm-planning/SKILL.md +130 -0
  157. package/skills/cm-project-bootstrap/SKILL.md +161 -0
  158. package/skills/cm-project-bootstrap/templates/AGENTS.md +42 -0
  159. package/skills/cm-project-bootstrap/templates/frontend-safety.test.js +51 -0
  160. package/skills/cm-project-bootstrap/templates/i18n-sync.test.js +38 -0
  161. package/skills/cm-project-bootstrap/templates/pr-template.md +12 -0
  162. package/skills/cm-project-bootstrap/templates/project-identity.json +29 -0
  163. package/skills/cm-project-bootstrap/templates/vitest.config.js +10 -0
  164. package/skills/cm-quality-gate/SKILL.md +218 -0
  165. package/skills/cm-readit/SKILL.md +289 -0
  166. package/skills/cm-readit/audio-player.md +206 -0
  167. package/skills/cm-readit/examples/blog-reader.js +352 -0
  168. package/skills/cm-readit/examples/voice-cro.js +390 -0
  169. package/skills/cm-readit/tts-engine.md +262 -0
  170. package/skills/cm-readit/ui-patterns.md +362 -0
  171. package/skills/cm-readit/voice-cro.md +223 -0
  172. package/skills/cm-safe-deploy/SKILL.md +120 -0
  173. package/skills/cm-safe-deploy/templates/deploy.sh +89 -0
  174. package/skills/cm-safe-i18n/SKILL.md +473 -0
  175. package/skills/cm-secret-shield/SKILL.md +580 -0
  176. package/skills/cm-skill-chain/SKILL.md +78 -0
  177. package/skills/cm-skill-index/SKILL.md +318 -0
  178. package/skills/cm-skill-mastery/SKILL.md +169 -0
  179. package/skills/cm-start/SKILL.md +65 -0
  180. package/skills/cm-status/SKILL.md +12 -0
  181. package/skills/cm-tdd/SKILL.md +370 -0
  182. package/skills/cm-terminal/SKILL.md +177 -0
  183. package/skills/cm-test-gate/SKILL.md +242 -0
  184. package/skills/cm-ui-preview/SKILL.md +291 -0
  185. package/skills/cm-ux-master/DESIGN_STANDARD_TEMPLATE.md +54 -0
  186. package/skills/cm-ux-master/SKILL.md +114 -0
  187. package/skills/cro-methodology/SKILL.md +98 -0
  188. package/skills/cro-methodology/references/COPYWRITING.md +178 -0
  189. package/skills/cro-methodology/references/OBJECTIONS.md +135 -0
  190. package/skills/cro-methodology/references/PERSUASION.md +158 -0
  191. package/skills/cro-methodology/references/RESEARCH.md +220 -0
  192. package/skills/cro-methodology/references/funnel-analysis.md +365 -0
  193. package/skills/cro-methodology/references/testing-methodology.md +330 -0
@@ -0,0 +1,166 @@
1
+ #!/bin/bash
2
+ # ============================================================
3
+ # DocKit Master v2 — Task Worker
4
+ # Executes a single documentation generation task
5
+ # ============================================================
6
+ set -euo pipefail
7
+
8
+ # ── Colors ──────────────────────────────────────────────────
9
+ RED='\033[0;31m'; GREEN='\033[0;32m'; CYAN='\033[0;36m'
10
+ YELLOW='\033[1;33m'; BOLD='\033[1m'; DIM='\033[2m'; NC='\033[0m'
11
+
12
+ log() { echo -e "${DIM}$(date +%H:%M:%S)${NC} [task:${TASK_ID:-?}] $1"; }
13
+
14
+ # ── Parse Args ──────────────────────────────────────────────
15
+ TASK_ID=""
16
+ PROJECT_PATH=""
17
+ OUTPUT_PATH=""
18
+ ENGINE="gemini"
19
+ SKILL_DIR=""
20
+ LANGUAGE="vi"
21
+
22
+ while [[ $# -gt 0 ]]; do
23
+ case $1 in
24
+ --task-id) TASK_ID="$2"; shift 2 ;;
25
+ --project) PROJECT_PATH="$2"; shift 2 ;;
26
+ --output) OUTPUT_PATH="$2"; shift 2 ;;
27
+ --engine) ENGINE="$2"; shift 2 ;;
28
+ --skill-dir) SKILL_DIR="$2"; shift 2 ;;
29
+ --language) LANGUAGE="$2"; shift 2 ;;
30
+ *) shift ;;
31
+ esac
32
+ done
33
+
34
+ if [[ -z "$TASK_ID" || -z "$PROJECT_PATH" || -z "$OUTPUT_PATH" ]]; then
35
+ echo "Usage: dockit-task.sh --task-id ID --project PATH --output PATH --engine ENGINE --skill-dir DIR"
36
+ exit 1
37
+ fi
38
+
39
+ PROMPTS_DIR="${SKILL_DIR}/prompts"
40
+ PROJECT_NAME="$(basename "$PROJECT_PATH")"
41
+
42
+ # ── Prompt Builder ──────────────────────────────────────────
43
+ build_prompt() {
44
+ local prompt_file="$PROMPTS_DIR/${TASK_ID}.md"
45
+
46
+ if [[ -f "$prompt_file" ]]; then
47
+ # Load from prompts directory and substitute variables
48
+ sed -e "s|{{PROJECT_PATH}}|$PROJECT_PATH|g" \
49
+ -e "s|{{PROJECT_NAME}}|$PROJECT_NAME|g" \
50
+ -e "s|{{OUTPUT_PATH}}|$OUTPUT_PATH|g" \
51
+ -e "s|{{LANGUAGE}}|$LANGUAGE|g" \
52
+ "$prompt_file"
53
+ else
54
+ # Fallback: generate a generic prompt
55
+ cat << PROMPT
56
+ You are DocKit Master, a documentation generator.
57
+
58
+ Task: Generate the "$TASK_ID" documentation for the project at: $PROJECT_PATH
59
+
60
+ Language: $LANGUAGE
61
+ Output file: $OUTPUT_PATH
62
+
63
+ Instructions:
64
+ 1. Scan the project codebase thoroughly
65
+ 2. Generate comprehensive documentation
66
+ 3. Write the output as a Markdown file
67
+ 4. Include YAML frontmatter with title, description, keywords
68
+ 5. Use Mermaid diagrams where helpful
69
+ 6. Include tables for structured data
70
+
71
+ Write the complete file content for: $OUTPUT_PATH
72
+ PROMPT
73
+ fi
74
+ }
75
+
76
+ # ── Execute via Gemini CLI ──────────────────────────────────
77
+ run_gemini() {
78
+ local prompt
79
+ prompt="$(build_prompt)"
80
+
81
+ log "Running via Gemini CLI..."
82
+
83
+ # Create temp prompt file
84
+ local tmp_prompt="/tmp/dockit-prompt-${TASK_ID}-$$.md"
85
+ echo "$prompt" > "$tmp_prompt"
86
+
87
+ # Run Gemini CLI
88
+ # The exact command depends on Gemini CLI version
89
+ local result_file="/tmp/dockit-result-${TASK_ID}-$$.md"
90
+
91
+ if command -v gemini &>/dev/null; then
92
+ # Try Gemini CLI with file output
93
+ gemini -p "$(cat "$tmp_prompt")" > "$result_file" 2>/dev/null
94
+
95
+ if [[ -f "$result_file" ]] && [[ -s "$result_file" ]]; then
96
+ mkdir -p "$(dirname "$OUTPUT_PATH")"
97
+ cp "$result_file" "$OUTPUT_PATH"
98
+ log "✅ Output written to: $OUTPUT_PATH"
99
+ rm -f "$tmp_prompt" "$result_file"
100
+ return 0
101
+ fi
102
+ fi
103
+
104
+ # Fallback: save prompt for manual execution
105
+ log "⚠️ Gemini CLI execution failed. Saving prompt for manual use."
106
+ mkdir -p "$(dirname "$OUTPUT_PATH")"
107
+ echo "<!-- DOCKIT: Task $TASK_ID - Prompt saved, needs manual execution -->" > "$OUTPUT_PATH"
108
+ echo "<!-- Run: gemini -p \"\$(cat $tmp_prompt)\" > $OUTPUT_PATH -->" >> "$OUTPUT_PATH"
109
+ cat "$tmp_prompt" >> "$OUTPUT_PATH"
110
+ rm -f "$result_file"
111
+ return 1
112
+ }
113
+
114
+ # ── Execute via Prompt Copy ─────────────────────────────────
115
+ run_prompt_copy() {
116
+ local prompt
117
+ prompt="$(build_prompt)"
118
+
119
+ log "Saving prompt for manual execution..."
120
+ mkdir -p "$(dirname "$OUTPUT_PATH")"
121
+
122
+ # Save the prompt
123
+ local prompt_save="$PROJECT_PATH/docs/_prompts/${TASK_ID}.md"
124
+ mkdir -p "$(dirname "$prompt_save")"
125
+ echo "$prompt" > "$prompt_save"
126
+
127
+ # Create placeholder output
128
+ cat > "$OUTPUT_PATH" << PLACEHOLDER
129
+ ---
130
+ title: "$TASK_ID (pending)"
131
+ description: "This document needs to be generated manually"
132
+ ---
133
+
134
+ # $TASK_ID
135
+
136
+ > ⚠️ This document was not auto-generated. Run the prompt manually:
137
+ > \`$prompt_save\`
138
+
139
+ Paste the prompt into Gemini CLI or Antigravity to generate this document.
140
+ PLACEHOLDER
141
+
142
+ log "Prompt saved: $prompt_save"
143
+ return 0 # Don't fail, just mark as needing manual work
144
+ }
145
+
146
+ # ═══════════════════════════════════════════════════════════
147
+ # MAIN
148
+ # ═══════════════════════════════════════════════════════════
149
+
150
+ log "Starting task: $TASK_ID"
151
+ log "Project: $PROJECT_PATH"
152
+ log "Output: $OUTPUT_PATH"
153
+ log "Engine: $ENGINE"
154
+
155
+ case "$ENGINE" in
156
+ gemini)
157
+ run_gemini
158
+ ;;
159
+ prompt|*)
160
+ run_prompt_copy
161
+ ;;
162
+ esac
163
+
164
+ exit_code=$?
165
+ log "Task $TASK_ID finished with exit code $exit_code"
166
+ exit $exit_code
@@ -0,0 +1,174 @@
1
+ # Analyze Codebase — UX Master Edition
2
+
3
+ Deeply analyze the codebase to create metadata for other documentation generation skills. Produces a comprehensive analysis with architecture diagrams, dependency graphs, and framework detection.
4
+
5
+ ## Procedure
6
+
7
+ ### 1. Scan Project Root
8
+
9
+ ```
10
+ - Read README.md, package.json, Makefile, docker-compose.yml, etc.
11
+ - List all top-level directories
12
+ - Count files by extension to detect languages
13
+ - Identify monorepo structure if applicable
14
+ ```
15
+
16
+ ### 2. Detect Tech Stack
17
+
18
+ | Signal | Detected As |
19
+ |--------|------------|
20
+ | `package.json` + `next.config.*` | Next.js |
21
+ | `package.json` + `vite.config.*` | Vite + React/Vue |
22
+ | `package.json` + `nuxt.config.*` | Nuxt.js |
23
+ | `package.json` + `svelte.config.*` | SvelteKit |
24
+ | `package.json` + `astro.config.*` | Astro |
25
+ | `requirements.txt` / `pyproject.toml` | Python |
26
+ | `go.mod` | Go |
27
+ | `Cargo.toml` | Rust |
28
+ | `pom.xml` / `build.gradle` | Java |
29
+ | `*.csproj` | .NET/C# |
30
+ | `docker-compose.yml` | Containerized |
31
+ | `Dockerfile` | Docker |
32
+ | `deno.json` / `deno.jsonc` | Deno |
33
+ | `bun.lockb` / `bunfig.toml` | Bun |
34
+ | `tauri.conf.json` | Tauri |
35
+ | `electron-builder.yml` | Electron |
36
+ | `Makefile` | Build automation |
37
+ | `setup.py` / `setup.cfg` | Python package |
38
+
39
+ ### 3. Map Architecture
40
+
41
+ Identify and document:
42
+
43
+ 1. **Presentation Layer** — Routes, pages, components, views
44
+ 2. **Business Logic** — Services, controllers, handlers, middleware
45
+ 3. **Data Layer** — Models, migrations, repositories, ORM config
46
+ 4. **Infrastructure** — Config, Docker, CI/CD, deployment scripts
47
+ 5. **External Integrations** — API clients, webhooks, SDKs
48
+ 6. **Testing** — Test framework, test directories, coverage config
49
+
50
+ ### 4. Identify Key Entry Points
51
+
52
+ - Web server startup file (e.g., `index.ts`, `main.py`, `main.go`, `app.py`)
53
+ - Route registration files
54
+ - Database migration files
55
+ - Environment/config files
56
+ - CLI entry points (`bin/`, `scripts/`)
57
+
58
+ ### 5. Extract Route Map
59
+
60
+ Scan route/controller files and build a table:
61
+
62
+ | Method | Path | Handler | Auth | Middleware | Description |
63
+ |--------|------|---------|------|------------|-------------|
64
+ | GET | /api/users | getUsers | Yes | rateLimit | List users |
65
+ | POST | /api/users | createUser | Yes | validate | Create user |
66
+
67
+ ### 6. Extract Database Schema
68
+
69
+ From migration files or ORM models, build:
70
+
71
+ - Table list with columns, types, and constraints
72
+ - Relationships (FK, many-to-many, polymorphic)
73
+ - Indexes and unique constraints
74
+ - Enum types
75
+
76
+ ### 7. Analyze Dependencies
77
+
78
+ Build a dependency overview:
79
+
80
+ | Category | Package | Version | Purpose |
81
+ |----------|---------|---------|---------|
82
+ | Core | express | 4.18 | HTTP server |
83
+ | Database | prisma | 5.0 | ORM |
84
+ | Auth | jsonwebtoken | 9.0 | JWT handling |
85
+ | Testing | jest | 29.0 | Unit tests |
86
+
87
+ ### 8. Detect Test Coverage
88
+
89
+ - Identify test framework (Jest, Pytest, Go test, etc.)
90
+ - Count test files vs source files
91
+ - Note CI/CD test integration
92
+
93
+ ### 9. Output
94
+
95
+ Generate `docs/analysis.md` (note: NO underscore prefix — breaks auto-sidebar detection) with all findings:
96
+
97
+ ```markdown
98
+ ---
99
+ title: "Codebase Analysis"
100
+ description: "Automated analysis of the project codebase"
101
+ ---
102
+
103
+ # Codebase Analysis
104
+
105
+ > **Quick Reference**
106
+ > - **Project**: [name from package.json/README]
107
+ > - **Type**: [Web App / API / Library / CLI / SDK]
108
+ > - **Languages**: [TypeScript, Python, etc.]
109
+ > - **Frameworks**: [Next.js, FastAPI, etc.]
110
+ > - **Lines of Code**: ~[estimate]
111
+
112
+ ## Architecture
113
+
114
+ ```mermaid
115
+ graph TB
116
+
117
+ subgraph Presentation
118
+ UI["🖥️ Frontend"]
119
+ end
120
+
121
+ subgraph Business
122
+ API["⚙️ API Server"]
123
+ end
124
+
125
+ subgraph Data
126
+ DB["🗄️ Database"]
127
+ end
128
+
129
+ UI --> API --> DB
130
+ ```
131
+
132
+ ## Directory Structure
133
+
134
+ ```
135
+ [Annotated tree — show only important directories]
136
+ ```
137
+
138
+ ## Dependencies
139
+
140
+ | Category | Package | Version | Purpose |
141
+ |----------|---------|---------|---------|
142
+
143
+ ## Route Map
144
+
145
+ | Method | Path | Handler | Auth | Description |
146
+ |--------|------|---------|------|-------------|
147
+
148
+ ## Database Schema
149
+
150
+ | Table | Columns | Relationships |
151
+ |-------|---------|---------------|
152
+
153
+ ## Key Files
154
+
155
+ | File | Role | Lines |
156
+ |------|------|-------|
157
+ | src/index.ts | Entry point | 150 |
158
+ | src/routes/ | API routes | — |
159
+
160
+ ## Test Coverage
161
+
162
+ | Framework | Test Files | Coverage |
163
+ |-----------|-----------|----------|
164
+ ```
165
+
166
+ ## Rules
167
+
168
+ - **TRACE actual code** — never guess from filenames
169
+ - **Cite every finding**: `(file_path:line_number)`
170
+ - **Output file**: `analysis.md` (**NOT** `_analysis.md` — underscore breaks auto-sidebar)
171
+ - Use Mermaid diagrams — do NOT hardcode colors (let native theming handle light/dark)
172
+ - If a section cannot be determined, state **"Undetermined — requires further inspection"**
173
+ - **Quick Reference card** at top of output
174
+ - **Include dependency analysis** — essential for understanding the project
@@ -0,0 +1,237 @@
1
+ # API Reference Generator — UX Master Edition
2
+
3
+ Automatically generate API reference documentation with multi-language SDK examples and visual request flows.
4
+
5
+ ## Input Required
6
+
7
+ - `docs/_analysis.md` (output from analyze-codebase)
8
+ - Access to route files, controllers, middleware, type definitions
9
+
10
+ ## Content Guidelines
11
+
12
+ **Before generating, read `skills/content-guidelines.md` for:**
13
+ - Writing style rules
14
+ - Mermaid theme-neutral rules
15
+
16
+ ## Procedure
17
+
18
+ ### 1. Scan Route Files
19
+
20
+ Detect routing patterns by framework:
21
+
22
+ | Framework | Route Pattern |
23
+ |-----------|--------------|
24
+ | Express.js | `router.get('/path', handler)` |
25
+ | Next.js API | `app/api/*/route.ts` |
26
+ | FastAPI | `@app.get('/path')` |
27
+ | Hono | `app.get('/path', handler)` |
28
+ | Go (chi/gin) | `r.Get("/path", handler)` |
29
+ | NestJS | `@Get('/path')` decorator |
30
+ | Bun / Elysia | `app.get('/path', handler)` |
31
+ | Deno / Fresh | `GET /api/path` handler exports |
32
+
33
+ ### 2. Extract Endpoint Details
34
+
35
+ For each endpoint, extract:
36
+ - HTTP method + path (with params)
37
+ - Middleware / guards (auth, rate limit)
38
+ - Request body schema (from types/validators)
39
+ - Response schema (from return types)
40
+ - Status codes (from error handlers)
41
+
42
+ ### 3. Group by Resource
43
+
44
+ Organize endpoints by resource:
45
+ ```
46
+ /api/users → Users
47
+ /api/orders → Orders
48
+ /api/products → Products
49
+ ```
50
+
51
+ ### 4. Generate Files
52
+
53
+ Output to `docs/api/[resource].md`
54
+
55
+ ## API Reference Template
56
+
57
+ ```markdown
58
+ ---
59
+ title: "[Resource Name] API"
60
+ description: "API reference for [resource]"
61
+ ---
62
+
63
+ # [Resource Name] API
64
+
65
+ > **Quick Reference**
66
+ > - **Base URL**: `[base_url]/api/[resource]`
67
+ > - **Auth**: Bearer Token / API Key / None
68
+ > - **Rate Limit**: [X requests/min]
69
+ > - **Content-Type**: `application/json`
70
+
71
+ ## Endpoints Overview
72
+
73
+ | Method | Endpoint | Description | Auth |
74
+ |--------|----------|-------------|------|
75
+ | GET | `/api/resource` | List items | ✅ |
76
+ | GET | `/api/resource/:id` | Get details | ✅ |
77
+ | POST | `/api/resource` | Create item | ✅ |
78
+ | PUT | `/api/resource/:id` | Update item | ✅ |
79
+ | DELETE | `/api/resource/:id` | Delete item | ✅ |
80
+
81
+ ---
82
+
83
+ ## GET /api/resource
84
+
85
+ List all [resource].
86
+
87
+ ### Parameters
88
+
89
+ | Name | Location | Type | Required | Default | Description |
90
+ |------|----------|------|----------|---------|-------------|
91
+ | page | query | number | ❌ | 1 | Page number |
92
+ | limit | query | number | ❌ | 20 | Items per page |
93
+ | sort | query | string | ❌ | `created_at` | Sort field |
94
+
95
+ ### Response
96
+
97
+ **200 OK**
98
+ ```json
99
+ {
100
+ "data": [...],
101
+ "total": 100,
102
+ "page": 1,
103
+ "limit": 20
104
+ }
105
+ ```
106
+
107
+ **401 Unauthorized**
108
+ ```json
109
+ {
110
+ "error": "Authentication required",
111
+ "code": "AUTH_REQUIRED"
112
+ }
113
+ ```
114
+
115
+ ### Examples
116
+
117
+ <details>
118
+ <summary>cURL</summary>
119
+
120
+ ```bash
121
+ curl -X GET "https://api.example.com/api/resource?page=1&limit=10" \
122
+ -H "Authorization: Bearer <token>"
123
+ ```
124
+
125
+ </details>
126
+
127
+ <details>
128
+ <summary>Python</summary>
129
+
130
+ ```python
131
+ import requests
132
+
133
+ response = requests.get(
134
+ "https://api.example.com/api/resource",
135
+ params={"page": 1, "limit": 10},
136
+ headers={"Authorization": f"Bearer {token}"}
137
+ )
138
+ data = response.json()
139
+ ```
140
+
141
+ </details>
142
+
143
+ <details>
144
+ <summary>JavaScript (fetch)</summary>
145
+
146
+ ```javascript
147
+ const response = await fetch('/api/resource?page=1&limit=10', {
148
+ headers: { 'Authorization': `Bearer ${token}` }
149
+ });
150
+ const data = await response.json();
151
+ ```
152
+
153
+ </details>
154
+
155
+ <details>
156
+ <summary>Go</summary>
157
+
158
+ ```go
159
+ req, _ := http.NewRequest("GET", "https://api.example.com/api/resource?page=1", nil)
160
+ req.Header.Set("Authorization", "Bearer "+token)
161
+ resp, _ := http.DefaultClient.Do(req)
162
+ ```
163
+
164
+ </details>
165
+ ```
166
+
167
+ ## Index File
168
+
169
+ Generate `docs/api/index.md`:
170
+
171
+ ```markdown
172
+ ---
173
+ title: "API Reference"
174
+ description: "API reference documentation"
175
+ ---
176
+
177
+ # API Reference
178
+
179
+ > **Quick Reference**
180
+ > - **Base URL**: `[detected base URL]`
181
+ > - **Auth Method**: [Bearer token / API key / OAuth2]
182
+ > - **Response Format**: JSON
183
+ > - **API Version**: [v1 / v2]
184
+
185
+ ## Authentication
186
+
187
+ ```bash
188
+ # Include this header in all authenticated requests
189
+ Authorization: Bearer <your_access_token>
190
+ ```
191
+
192
+ :::warning
193
+ API keys should never be exposed in client-side code. Use server-side proxying or environment variables.
194
+ :::
195
+
196
+ ## Endpoints
197
+
198
+ | Resource | Endpoints | Base Path | Auth |
199
+ |----------|-----------|-----------|------|
200
+ | Users | 5 | /api/users | ✅ |
201
+ | Orders | 4 | /api/orders | ✅ |
202
+
203
+ ## Error Codes
204
+
205
+ | Code | Name | Description |
206
+ |------|------|-------------|
207
+ | 400 | Bad Request | Invalid or missing request data |
208
+ | 401 | Unauthorized | Authentication required |
209
+ | 403 | Forbidden | Insufficient permissions |
210
+ | 404 | Not Found | Resource does not exist |
211
+ | 422 | Unprocessable | Validation failed |
212
+ | 429 | Too Many Requests | Rate limit exceeded |
213
+ | 500 | Server Error | Internal server error |
214
+
215
+ ## Rate Limiting
216
+
217
+ | Tier | Limit | Window |
218
+ |------|-------|--------|
219
+ | Free | 60 req | per minute |
220
+ | Pro | 600 req | per minute |
221
+
222
+ :::tip
223
+ Rate limit headers are included in every response:
224
+ `X-RateLimit-Remaining`, `X-RateLimit-Reset`
225
+ :::
226
+ ```
227
+
228
+ ## Rules
229
+
230
+ - **Quick Reference card** at top of every API page
231
+ - **Extract schemas from actual type definitions** — never guess
232
+ - **Include real validation rules** from validators (Zod, Joi, class-validator)
233
+ - **Show both success and error responses** for every endpoint
234
+ - **Multi-language SDK examples** using `<details>` (cURL, Python, JS, Go)
235
+ - **Use `:::warning` admonition** for security-related notes
236
+ - **Use `:::tip` admonition** for usage tips
237
+ - **Cite source**: `(file_path:line_number)` for each endpoint