@prateek_ai/agents-maker 1.0.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 (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +659 -0
  3. package/agents/architect_agent.md +175 -0
  4. package/agents/code_agent.md +178 -0
  5. package/agents/compression_agent.md +226 -0
  6. package/agents/execution_agent.md +157 -0
  7. package/agents/orchestrator.md +406 -0
  8. package/agents/reviewer_agent.md +134 -0
  9. package/agents/ui_agent.md +147 -0
  10. package/agents/ux_agent.md +144 -0
  11. package/bin/cli.js +79 -0
  12. package/config/agents.yaml +388 -0
  13. package/config/domain_profiles.yaml +394 -0
  14. package/config/project.yaml.example +16 -0
  15. package/config/token_policies.yaml +325 -0
  16. package/context_loaders/__init__.py +15 -0
  17. package/context_loaders/__pycache__/__init__.cpython-314.pyc +0 -0
  18. package/context_loaders/__pycache__/file_chunker.cpython-314.pyc +0 -0
  19. package/context_loaders/__pycache__/project_summary.cpython-314.pyc +0 -0
  20. package/context_loaders/__pycache__/repo_tree.cpython-314.pyc +0 -0
  21. package/context_loaders/file_chunker.py +252 -0
  22. package/context_loaders/project_summary.py +369 -0
  23. package/context_loaders/repo_tree.py +203 -0
  24. package/package.json +46 -0
  25. package/quickstart.ps1 +252 -0
  26. package/quickstart.sh +232 -0
  27. package/requirements.txt +3 -0
  28. package/skills/analyze_repo.md +86 -0
  29. package/skills/animated_website.md +285 -0
  30. package/skills/compare_approaches.md +86 -0
  31. package/skills/define_data_schema.md +99 -0
  32. package/skills/design_api.md +126 -0
  33. package/skills/improve_copy.md +69 -0
  34. package/skills/review_code.md +83 -0
  35. package/skills/review_layout.md +89 -0
  36. package/skills/suggest_next.md +105 -0
  37. package/skills/summarize_history.md +89 -0
  38. package/skills/write_process_map.md +105 -0
  39. package/skills/write_tests.md +97 -0
  40. package/token_optimization/__pycache__/compressor.cpython-314.pyc +0 -0
  41. package/token_optimization/compressor.py +502 -0
  42. package/token_optimization/output_styles.md +80 -0
  43. package/tools/__pycache__/domain_utils.cpython-314.pyc +0 -0
  44. package/tools/__pycache__/generate_claude_md.cpython-314.pyc +0 -0
  45. package/tools/__pycache__/validate_kit.cpython-314.pyc +0 -0
  46. package/tools/domain_utils.py +141 -0
  47. package/tools/generate_claude_md.py +269 -0
  48. package/tools/generate_platform_configs.py +467 -0
  49. package/tools/generate_prompt.py +461 -0
  50. package/tools/init_project.py +454 -0
  51. package/tools/test_kit.py +363 -0
  52. package/tools/validate_kit.py +504 -0
package/quickstart.ps1 ADDED
@@ -0,0 +1,252 @@
1
+ #Requires -Version 5.1
2
+ <#
3
+ .SYNOPSIS
4
+ One-command setup for agents-maker on Windows.
5
+
6
+ .DESCRIPTION
7
+ quickstart.ps1 — agents-maker bootstrap for Windows PowerShell
8
+
9
+ Usage (from your project root, with agents-maker\ cloned inside it):
10
+ .\agents-maker\quickstart.ps1
11
+ .\agents-maker\quickstart.ps1 -Update # regenerate system_prompt.md
12
+ .\agents-maker\quickstart.ps1 -SkipInit # skip init, just validate + show usage
13
+ .\agents-maker\quickstart.ps1 -NoColor # plain output (CI/logging)
14
+
15
+ What it does:
16
+ 1. Checks Python 3.9+ is available
17
+ 2. Installs pyyaml (the only runtime dependency)
18
+ 3. Runs tools\validate_kit.py to confirm the kit is intact
19
+ 4. Runs tools\init_project.py to scan your project and generate system_prompt.md
20
+ 5. Prints everything you need to run your first session
21
+
22
+ .PARAMETER Update
23
+ Regenerate system_prompt.md even if it already exists.
24
+
25
+ .PARAMETER SkipInit
26
+ Skip init_project.py — only install deps, validate, and show usage.
27
+
28
+ .PARAMETER NoColor
29
+ Disable colored output (useful in CI or when piping to a file).
30
+ #>
31
+
32
+ param(
33
+ [switch]$Update,
34
+ [switch]$SkipInit,
35
+ [switch]$NoColor
36
+ )
37
+
38
+ Set-StrictMode -Version Latest
39
+ $ErrorActionPreference = "Stop"
40
+ [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
41
+
42
+ # ---------------------------------------------------------------------------
43
+ # Color helpers
44
+ # ---------------------------------------------------------------------------
45
+ function Write-Ok { param([string]$Msg) Write-Colored "[OK] " "Green" $Msg }
46
+ function Write-Info { param([string]$Msg) Write-Colored "[INFO] " "Cyan" $Msg }
47
+ function Write-Warn { param([string]$Msg) Write-Colored "[WARN] " "Yellow" $Msg }
48
+ function Write-Fail { param([string]$Msg) Write-Colored "[FAIL] " "Red" $Msg }
49
+
50
+ function Write-Colored {
51
+ param([string]$Tag, [string]$Color, [string]$Msg)
52
+ if ($NoColor) {
53
+ Write-Host "$Tag $Msg"
54
+ } else {
55
+ Write-Host $Tag -ForegroundColor $Color -NoNewline
56
+ Write-Host " $Msg"
57
+ }
58
+ }
59
+
60
+ function Write-Step { param([string]$Msg)
61
+ Write-Host ""
62
+ if ($NoColor) { Write-Host "==> $Msg" }
63
+ else { Write-Host "==> $Msg" -ForegroundColor White }
64
+ }
65
+
66
+ function Write-Hr {
67
+ $line = "-" * 60
68
+ if ($NoColor) { Write-Host $line }
69
+ else { Write-Host $line -ForegroundColor Cyan }
70
+ }
71
+
72
+ # ---------------------------------------------------------------------------
73
+ # Locate kit directory (the directory this script lives in)
74
+ # ---------------------------------------------------------------------------
75
+ $KitDir = $PSScriptRoot
76
+ $ProjectRoot = Split-Path $KitDir -Parent
77
+
78
+ Write-Hr
79
+ Write-Host " agents-maker quickstart" -ForegroundColor White
80
+ Write-Host " Kit: $KitDir"
81
+ Write-Host " Project: $ProjectRoot"
82
+ Write-Hr
83
+
84
+ # ---------------------------------------------------------------------------
85
+ # Step 1 — Python version check
86
+ # ---------------------------------------------------------------------------
87
+ Write-Step "Step 1 - Checking Python"
88
+
89
+ $PY = $null
90
+ $candidates = @("python", "python3", "py")
91
+
92
+ foreach ($candidate in $candidates) {
93
+ $found = Get-Command $candidate -ErrorAction SilentlyContinue
94
+ if (-not $found) { continue }
95
+
96
+ try {
97
+ $versionStr = & $candidate -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')" 2>$null
98
+ if ($LASTEXITCODE -ne 0) { continue }
99
+
100
+ $parts = $versionStr.Trim().Split(".")
101
+ $major = [int]$parts[0]
102
+ $minor = [int]$parts[1]
103
+
104
+ if ($major -ge 3 -and $minor -ge 9) {
105
+ $PY = $candidate
106
+ Write-Ok "Found Python $versionStr at $($found.Source)"
107
+ break
108
+ } else {
109
+ Write-Warn "Skipping $candidate ($versionStr) - need 3.9+"
110
+ }
111
+ } catch {
112
+ continue
113
+ }
114
+ }
115
+
116
+ if (-not $PY) {
117
+ Write-Fail "Python 3.9+ not found."
118
+ Write-Host " Install from https://python.org, ensure 'Add Python to PATH' is checked, then re-run."
119
+ exit 1
120
+ }
121
+
122
+ # ---------------------------------------------------------------------------
123
+ # Step 2 — Install dependencies
124
+ # ---------------------------------------------------------------------------
125
+ Write-Step "Step 2 - Installing dependencies"
126
+
127
+ $ReqFile = Join-Path $KitDir "requirements.txt"
128
+ if (-not (Test-Path $ReqFile)) {
129
+ Write-Fail "requirements.txt not found at $ReqFile"
130
+ exit 1
131
+ }
132
+
133
+ & $PY -m pip install -r $ReqFile --quiet
134
+ if ($LASTEXITCODE -ne 0) {
135
+ Write-Fail "pip install failed. Try: $PY -m pip install pyyaml"
136
+ exit 1
137
+ }
138
+ Write-Ok "Dependencies installed (pyyaml)"
139
+
140
+ # ---------------------------------------------------------------------------
141
+ # Step 3 — Validate kit integrity
142
+ # ---------------------------------------------------------------------------
143
+ Write-Step "Step 3 - Validating kit integrity"
144
+
145
+ $Validator = Join-Path $KitDir "tools\validate_kit.py"
146
+ if (-not (Test-Path $Validator)) {
147
+ Write-Fail "tools\validate_kit.py not found - is the kit complete?"
148
+ exit 1
149
+ }
150
+
151
+ & $PY $Validator
152
+ if ($LASTEXITCODE -ne 0) {
153
+ Write-Fail "Kit validation failed - see output above."
154
+ Write-Host ""
155
+ Write-Host " If you modified agent or skill files, re-run validate_kit.py manually:"
156
+ Write-Host " $PY agents-maker\tools\validate_kit.py"
157
+ exit 1
158
+ }
159
+ Write-Ok "All integrity checks passed"
160
+
161
+ # ---------------------------------------------------------------------------
162
+ # Step 4 — init_project.py
163
+ # ---------------------------------------------------------------------------
164
+ if (-not $SkipInit) {
165
+ Write-Step "Step 4 - Initializing project (generating system_prompt.md)"
166
+
167
+ $InitScript = Join-Path $KitDir "tools\init_project.py"
168
+ if (-not (Test-Path $InitScript)) {
169
+ Write-Fail "tools\init_project.py not found - is the kit complete?"
170
+ exit 1
171
+ }
172
+
173
+ Write-Host ""
174
+ $updateArg = if ($Update) { "--update" } else { "" }
175
+ Write-Info "Running: $PY $InitScript $updateArg --path $ProjectRoot"
176
+ Write-Info "You will be asked to confirm or override the detected domain."
177
+ Write-Host ""
178
+
179
+ if ($Update) {
180
+ & $PY $InitScript "--update" "--path" $ProjectRoot
181
+ } else {
182
+ & $PY $InitScript "--path" $ProjectRoot
183
+ }
184
+
185
+ if ($LASTEXITCODE -ne 0) {
186
+ Write-Fail "init_project.py failed - see output above."
187
+ exit 1
188
+ }
189
+ Write-Ok "init_project.py completed"
190
+ } else {
191
+ Write-Step "Step 4 - Skipping init (-SkipInit)"
192
+ Write-Info "system_prompt.md was not regenerated."
193
+ }
194
+
195
+ # ---------------------------------------------------------------------------
196
+ # Step 5 — Final summary and usage guide
197
+ # ---------------------------------------------------------------------------
198
+ $SystemPromptPath = Join-Path $KitDir "system_prompt.md"
199
+
200
+ Write-Host ""
201
+ Write-Hr
202
+ Write-Host " Setup complete. Here is everything you need to know." -ForegroundColor White
203
+ Write-Hr
204
+ Write-Host ""
205
+
206
+ if (Test-Path $SystemPromptPath) {
207
+ $bytes = (Get-Item $SystemPromptPath).Length
208
+ $tokens = [int]($bytes / 4)
209
+ Write-Ok "system_prompt.md (~$bytes chars, ~$tokens tokens)"
210
+ Write-Host " Paste it into your AI tool's system prompt / project instructions."
211
+ Write-Host " You only need to do this once per AI context."
212
+ } else {
213
+ Write-Warn "system_prompt.md was not created. Re-run without -SkipInit."
214
+ }
215
+
216
+ Write-Host ""
217
+ Write-Host " How to generate prompts" -ForegroundColor White
218
+ Write-Host ""
219
+ Write-Host " Basic:"
220
+ Write-Host " $PY agents-maker\tools\generate_prompt.py `"describe your task here`""
221
+ Write-Host ""
222
+ Write-Host " With phase:"
223
+ Write-Host " $PY agents-maker\tools\generate_prompt.py `"your task`" --phase implementation"
224
+ Write-Host " $PY agents-maker\tools\generate_prompt.py `"your task`" --phase review"
225
+ Write-Host " $PY agents-maker\tools\generate_prompt.py `"your task`" --phase solution_design"
226
+ Write-Host ""
227
+ Write-Host " With token compression:"
228
+ Write-Host " $PY agents-maker\tools\generate_prompt.py `"your task`" --compress"
229
+ Write-Host ""
230
+ Write-Host " With full system prompt (for models without persistent system prompt):"
231
+ Write-Host " $PY agents-maker\tools\generate_prompt.py `"your task`" --full"
232
+ Write-Host ""
233
+ Write-Host " Valid phases: task_framing | requirements | solution_design |"
234
+ Write-Host " implementation | review_refinement | handoff"
235
+ Write-Host ""
236
+ Write-Host " Context loaders (run and paste output with your task)" -ForegroundColor White
237
+ Write-Host ""
238
+ Write-Host " $PY agents-maker\context_loaders\project_summary.py --path ."
239
+ Write-Host " $PY agents-maker\context_loaders\repo_tree.py --path ."
240
+ Write-Host " $PY agents-maker\context_loaders\file_chunker.py --path . --files src\main.py src\auth.py"
241
+ Write-Host ""
242
+ Write-Host " Keeping system_prompt.md current" -ForegroundColor White
243
+ Write-Host ""
244
+ Write-Host " .\agents-maker\quickstart.ps1 -Update"
245
+ Write-Host " # or: $PY agents-maker\tools\init_project.py --update"
246
+ Write-Host ""
247
+ Write-Host " Validate any time" -ForegroundColor White
248
+ Write-Host ""
249
+ Write-Host " $PY agents-maker\tools\validate_kit.py"
250
+ Write-Host ""
251
+ Write-Hr
252
+ Write-Host ""
package/quickstart.sh ADDED
@@ -0,0 +1,232 @@
1
+ #!/usr/bin/env bash
2
+ # quickstart.sh — One-command setup for agents-maker
3
+ #
4
+ # Usage (from your project root, with agents-maker/ cloned inside it):
5
+ # bash agents-maker/quickstart.sh
6
+ # bash agents-maker/quickstart.sh --update # regenerate system_prompt.md
7
+ # bash agents-maker/quickstart.sh --skip-init # skip init, just validate + show usage
8
+ # bash agents-maker/quickstart.sh --no-color # plain output (CI/logging)
9
+ #
10
+ # What it does:
11
+ # 1. Checks Python 3.9+ is available
12
+ # 2. Installs pyyaml (the only runtime dependency)
13
+ # 3. Runs tools/validate_kit.py to confirm the kit is intact
14
+ # 4. Runs tools/init_project.py to scan your project and generate system_prompt.md
15
+ # 5. Prints everything you need to run your first session
16
+
17
+ set -euo pipefail
18
+
19
+ # ---------------------------------------------------------------------------
20
+ # Arg parsing
21
+ # ---------------------------------------------------------------------------
22
+ UPDATE_FLAG=""
23
+ SKIP_INIT=0
24
+ NO_COLOR=0
25
+
26
+ for arg in "$@"; do
27
+ case "$arg" in
28
+ --update) UPDATE_FLAG="--update" ;;
29
+ --skip-init) SKIP_INIT=1 ;;
30
+ --no-color) NO_COLOR=1 ;;
31
+ --help|-h)
32
+ # Print only the leading doc block (lines 2..first blank line)
33
+ tail -n +2 "$0" | while IFS= read -r line; do
34
+ [[ "$line" =~ ^# ]] || break
35
+ echo "${line#\# }" | sed 's/^#$//'
36
+ done
37
+ exit 0
38
+ ;;
39
+ *)
40
+ echo "Unknown option: $arg (use --help for usage)" >&2
41
+ exit 1
42
+ ;;
43
+ esac
44
+ done
45
+
46
+ # ---------------------------------------------------------------------------
47
+ # Color helpers
48
+ # ---------------------------------------------------------------------------
49
+ if [[ $NO_COLOR -eq 0 && -t 1 ]]; then
50
+ GREEN="\033[0;32m"
51
+ YELLOW="\033[0;33m"
52
+ CYAN="\033[0;36m"
53
+ RED="\033[0;31m"
54
+ BOLD="\033[1m"
55
+ RESET="\033[0m"
56
+ else
57
+ GREEN="" YELLOW="" CYAN="" RED="" BOLD="" RESET=""
58
+ fi
59
+
60
+ ok() { echo -e "${GREEN}[OK]${RESET} $*"; }
61
+ info() { echo -e "${CYAN}[INFO]${RESET} $*"; }
62
+ warn() { echo -e "${YELLOW}[WARN]${RESET} $*"; }
63
+ fail() { echo -e "${RED}[FAIL]${RESET} $*" >&2; }
64
+ step() { echo -e "\n${BOLD}==> $*${RESET}"; }
65
+ hr() { echo -e "${CYAN}$(printf '%.0s─' {1..60})${RESET}"; }
66
+
67
+ # ---------------------------------------------------------------------------
68
+ # Locate kit directory (the directory this script lives in)
69
+ # ---------------------------------------------------------------------------
70
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
71
+ KIT_DIR="$SCRIPT_DIR"
72
+ PROJECT_ROOT="$(dirname "$KIT_DIR")"
73
+
74
+ hr
75
+ echo -e "${BOLD} agents-maker quickstart${RESET}"
76
+ echo " Kit: $KIT_DIR"
77
+ echo " Project: $PROJECT_ROOT"
78
+ hr
79
+
80
+ # ---------------------------------------------------------------------------
81
+ # Step 1 — Python version check
82
+ # ---------------------------------------------------------------------------
83
+ step "Step 1 — Checking Python"
84
+
85
+ PY=""
86
+ for candidate in python3 python python3.12 python3.11 python3.10 python3.9; do
87
+ if command -v "$candidate" &>/dev/null; then
88
+ version=$("$candidate" -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')
89
+ major="${version%%.*}"
90
+ minor="${version#*.}"
91
+ if [[ $major -ge 3 && $minor -ge 9 ]]; then
92
+ PY="$candidate"
93
+ ok "Found Python $version at $(command -v "$candidate")"
94
+ break
95
+ else
96
+ warn "Skipping $candidate ($version) — need 3.9+"
97
+ fi
98
+ fi
99
+ done
100
+
101
+ if [[ -z "$PY" ]]; then
102
+ fail "Python 3.9+ not found. Install from https://python.org and re-run."
103
+ exit 1
104
+ fi
105
+
106
+ # ---------------------------------------------------------------------------
107
+ # Step 2 — Install dependencies
108
+ # ---------------------------------------------------------------------------
109
+ step "Step 2 — Installing dependencies"
110
+
111
+ REQ="$KIT_DIR/requirements.txt"
112
+ if [[ ! -f "$REQ" ]]; then
113
+ fail "requirements.txt not found at $REQ"
114
+ exit 1
115
+ fi
116
+
117
+ if "$PY" -m pip install -r "$REQ" --quiet; then
118
+ ok "Dependencies installed (pyyaml)"
119
+ else
120
+ fail "pip install failed. Try: $PY -m pip install pyyaml"
121
+ exit 1
122
+ fi
123
+
124
+ # ---------------------------------------------------------------------------
125
+ # Step 3 — Validate kit integrity
126
+ # ---------------------------------------------------------------------------
127
+ step "Step 3 — Validating kit integrity"
128
+
129
+ VALIDATOR="$KIT_DIR/tools/validate_kit.py"
130
+ if [[ ! -f "$VALIDATOR" ]]; then
131
+ fail "tools/validate_kit.py not found — is the kit complete?"
132
+ exit 1
133
+ fi
134
+
135
+ if "$PY" "$VALIDATOR"; then
136
+ ok "All integrity checks passed"
137
+ else
138
+ fail "Kit validation failed — see output above."
139
+ echo ""
140
+ echo " If you modified agent or skill files, re-run validate_kit.py manually:"
141
+ echo " $PY agents-maker/tools/validate_kit.py"
142
+ exit 1
143
+ fi
144
+
145
+ # ---------------------------------------------------------------------------
146
+ # Step 4 — init_project.py
147
+ # ---------------------------------------------------------------------------
148
+ if [[ $SKIP_INIT -eq 0 ]]; then
149
+ step "Step 4 — Initializing project (generating system_prompt.md)"
150
+
151
+ INIT="$KIT_DIR/tools/init_project.py"
152
+ if [[ ! -f "$INIT" ]]; then
153
+ fail "tools/init_project.py not found — is the kit complete?"
154
+ exit 1
155
+ fi
156
+
157
+ echo ""
158
+ info "Running: $PY $INIT $UPDATE_FLAG --path $PROJECT_ROOT"
159
+ info "You will be asked to confirm or override the detected domain."
160
+ echo ""
161
+
162
+ # Run with --path so init_project.py scans the correct project root
163
+ if "$PY" "$INIT" $UPDATE_FLAG --path "$PROJECT_ROOT"; then
164
+ ok "init_project.py completed"
165
+ else
166
+ fail "init_project.py failed — see output above."
167
+ exit 1
168
+ fi
169
+ else
170
+ step "Step 4 — Skipping init (--skip-init)"
171
+ info "system_prompt.md was not regenerated."
172
+ fi
173
+
174
+ # ---------------------------------------------------------------------------
175
+ # Step 5 — Final summary and usage guide
176
+ # ---------------------------------------------------------------------------
177
+ SYSTEM_PROMPT="$KIT_DIR/system_prompt.md"
178
+
179
+ echo ""
180
+ hr
181
+ echo -e "${BOLD} Setup complete. Here is everything you need to know.${RESET}"
182
+ hr
183
+ echo ""
184
+
185
+ # system_prompt.md status
186
+ if [[ -f "$SYSTEM_PROMPT" ]]; then
187
+ CHARS=$(wc -c < "$SYSTEM_PROMPT" | tr -d ' ')
188
+ TOKENS=$(( CHARS / 4 ))
189
+ ok "system_prompt.md (~${CHARS} chars, ~${TOKENS} tokens)"
190
+ echo " Paste it into your AI tool's system prompt / project instructions."
191
+ echo " You only need to do this once per AI context."
192
+ else
193
+ warn "system_prompt.md was not created. Run init without --skip-init."
194
+ fi
195
+
196
+ echo ""
197
+ echo -e "${BOLD} How to generate prompts${RESET}"
198
+ echo ""
199
+ echo " Basic:"
200
+ echo " $PY agents-maker/tools/generate_prompt.py \"describe your task here\""
201
+ echo ""
202
+ echo " With phase:"
203
+ echo " $PY agents-maker/tools/generate_prompt.py \"your task\" --phase implementation"
204
+ echo " $PY agents-maker/tools/generate_prompt.py \"your task\" --phase review"
205
+ echo " $PY agents-maker/tools/generate_prompt.py \"your task\" --phase solution_design"
206
+ echo ""
207
+ echo " With token compression:"
208
+ echo " $PY agents-maker/tools/generate_prompt.py \"your task\" --compress"
209
+ echo ""
210
+ echo " With full system prompt (for models without persistent system prompt):"
211
+ echo " $PY agents-maker/tools/generate_prompt.py \"your task\" --full"
212
+ echo ""
213
+ echo " Valid phases: task_framing | requirements | solution_design |"
214
+ echo " implementation | review_refinement | handoff"
215
+ echo ""
216
+ echo -e "${BOLD} Context loaders (run these and paste the output with your task)${RESET}"
217
+ echo ""
218
+ echo " $PY agents-maker/context_loaders/project_summary.py --path ."
219
+ echo " $PY agents-maker/context_loaders/repo_tree.py --path ."
220
+ echo " $PY agents-maker/context_loaders/file_chunker.py --path . --files src/main.py src/auth.py"
221
+ echo ""
222
+ echo -e "${BOLD} Keeping system_prompt.md current${RESET}"
223
+ echo ""
224
+ echo " bash agents-maker/quickstart.sh --update"
225
+ echo " # or: $PY agents-maker/tools/init_project.py --update"
226
+ echo ""
227
+ echo -e "${BOLD} Validate any time${RESET}"
228
+ echo ""
229
+ echo " $PY agents-maker/tools/validate_kit.py"
230
+ echo ""
231
+ hr
232
+ echo ""
@@ -0,0 +1,3 @@
1
+ # agents-maker runtime dependency
2
+ # Install: pip install -r agents-maker/requirements.txt
3
+ pyyaml>=6.0,<8
@@ -0,0 +1,86 @@
1
+ # Skill: analyze_repo
2
+
3
+ ## Description
4
+
5
+ Walk a repository's file tree and produce a compact, structured summary of the project: detected stack, primary services or modules, main entrypoints, test structure, and key configuration files. Used by the Orchestrator and Architect Agent to build the Project State block at the start of a session.
6
+
7
+ ---
8
+
9
+ ## When to invoke
10
+
11
+ - Session start, when no project summary is available.
12
+ - When routing a task that requires understanding the broader project structure beyond the provided snippets.
13
+ - When the Architect Agent needs a service map before designing a new component.
14
+
15
+ ---
16
+
17
+ ## Input expectations
18
+
19
+ | Input | Required | Description |
20
+ |---|---|---|
21
+ | `repo_path` | Yes | Root path of the repository |
22
+ | `filter_paths` | No | List of subdirectory prefixes to include (e.g., `src/`, `app/`, `services/`) |
23
+ | `exclude_patterns` | No | Patterns to exclude (e.g., `node_modules/`, `__pycache__/`, `.git/`) |
24
+ | `max_depth` | No | Maximum directory depth to traverse (default: 4) |
25
+
26
+ In a conversational context, the user provides these via the `context_loaders/repo_tree.py` and `context_loaders/project_summary.py` scripts, and pastes the output.
27
+
28
+ **If required input is missing:**
29
+ - `repo_path` — if no path is provided and no repo context has been pasted, ask: "Please paste the output of `python agents-maker/context_loaders/repo_tree.py` or describe your project's directory structure." Do not produce a summary from nothing.
30
+ - `filter_paths` — default to scanning the entire repo up to `max_depth`.
31
+ - `exclude_patterns` — default to excluding `node_modules/`, `__pycache__/`, `.git/`, `dist/`, `build/`.
32
+ - `max_depth` — default to 4.
33
+
34
+ ---
35
+
36
+ ## Output format
37
+
38
+ The skill produces a structured text block:
39
+
40
+ ```
41
+ ## Project Summary
42
+
43
+ **Stack**: <language(s), runtime version(s), primary framework(s)>
44
+ **Build tool**: <e.g., pip + setuptools, npm + webpack, gradle>
45
+ **Test framework**: <e.g., pytest, jest, JUnit>
46
+ **Containerization**: <Docker | none | Kubernetes manifests present>
47
+
48
+ ## Services / Modules
49
+
50
+ | Name | Path | Responsibility |
51
+ |---|---|---|
52
+ | <name> | <path> | <one-line description> |
53
+
54
+ ## Main Entrypoints
55
+
56
+ | File | Purpose |
57
+ |---|---|
58
+ | <path> | <what it starts or exports> |
59
+
60
+ ## Key Config Files
61
+
62
+ | File | Purpose |
63
+ |---|---|
64
+ | <path> | <what it configures> |
65
+
66
+ ## Test Structure
67
+
68
+ | Path | Type | Coverage scope |
69
+ |---|---|---|
70
+ | <path> | unit | integration | e2e | <scope> |
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Token cost tier
76
+
77
+ **Medium.** Involves reading file tree and inspecting key files. Output is typically 300–600 tokens.
78
+
79
+ Compression hint: the output is already compact. Do not summarize it further — it is the basis for all other context in the session.
80
+
81
+ ---
82
+
83
+ ## Notes
84
+
85
+ - This skill is implemented as `context_loaders/project_summary.py`. In agent sessions without tool access, the user runs it locally and pastes the output.
86
+ - If the repo has no recognizable structure, return the raw tree truncated at `max_depth` and note: "Could not detect stack — please specify language and framework manually."