Goal
Produce entrypoints.md that answers:
- What runnable things exist?
- Where are their entrypoints?
- How do you run them locally (as discovered, not invented)?
- What config they require (lightweight)?
Inputs
- Repository working tree
- Existing
entrypoints.md (if present)
Output
- Create or update
entrypoints.md at repo root.
Procedure
1) Enumerate runnable units (don’t infer architecture)
- Scan repo structure for likely apps/services/jobs:
- apps/, services/, src/, packages/, cmd/, server/, api/, web/, worker/, jobs/
- Mark each as: service / web app / CLI / background worker / scheduled job / library-only.
- Note monorepo boundaries: which folders are independent run targets.
2) Detect entrypoint files/classes (evidence-first)
For each runnable unit, identify the concrete entrypoint(s) using file evidence:
- Node: main/module in package.json, scripts, src/index., server., app.*
- Java: SpringBootApplication main class, application.yml, bootRun tasks
- .NET: Program.cs, Startup.cs, launchSettings.json
- Python: main.py, console_scripts, manage.py, app.py, wsgi/asgi entrypoints
- Go: cmd/*/main.go
- Containers: Dockerfile ENTRYPOINT/CMD
- K8s: deployment args/command, container image refs
Record:
- Entrypoint (path + symbol/class if applicable)
- How it’s invoked (script/task/command)
- Confidence: confirmed / likely / guess
3) Extract canonical run/exec commands
Prefer authoritative sources, in this order:
- README/docs
- package.json scripts / Makefile / Taskfile / justfile
- Docker Compose profiles/services
- CI workflows (build + run steps)
- IDE launch configs (launch.json / launchSettings.json)
Capture copy/paste commands per runnable unit.
4) Identify runtime dependencies & required config (lightweight)
Without going deep into architecture:
- Required env vars/config files (list names only; don’t guess values)
- Local deps: DB, cache, queue, object storage, mock servers
- Ports and URLs (from config, compose, k8s)
5) Validate “what runs” claims
- If a runnable unit has no runnable command found, explicitly mark it “unknown” and list where you looked.
- Never invent versions or commands.
6) Generate/refresh entrypoints.md
- If file exists: update in place; preserve hand-written notes.
- Ensure each runnable unit includes: purpose, entrypoint, run command, required config, deps, evidence.
References
- Add stack-specific heuristics under
references/ only when needed.
1---2name: brownfield-repo-entrypoints3description: Identify what runs in a brownfield repository (services/apps/jobs), where the entrypoints are, and the canonical commands to start/execute them, producing an entrypoints.md artifact with evidence.4---56## Goal7Produce `entrypoints.md` that answers:8- What runnable things exist?9- Where are their entrypoints?10- How do you run them locally (as discovered, not invented)?11- What config they require (lightweight)?1213## Inputs14- Repository working tree15- Existing `entrypoints.md` (if present)1617## Output18- Create or update `entrypoints.md` at repo root.1920## Procedure2122### 1) Enumerate runnable units (don’t infer architecture)23- Scan repo structure for likely apps/services/jobs:24 - apps/, services/, src/, packages/, cmd/, server/, api/, web/, worker/, jobs/25- Mark each as: service / web app / CLI / background worker / scheduled job / library-only.26- Note monorepo boundaries: which folders are independent run targets.2728### 2) Detect entrypoint files/classes (evidence-first)29For each runnable unit, identify the concrete entrypoint(s) using file evidence:30- Node: main/module in package.json, scripts, src/index.*, server.*, app.*31- Java: SpringBootApplication main class, application.yml, bootRun tasks32- .NET: Program.cs, Startup.cs, launchSettings.json33- Python: __main__.py, console_scripts, manage.py, app.py, wsgi/asgi entrypoints34- Go: cmd/*/main.go35- Containers: Dockerfile ENTRYPOINT/CMD36- K8s: deployment args/command, container image refs3738Record:39- Entrypoint (path + symbol/class if applicable)40- How it’s invoked (script/task/command)41- Confidence: confirmed / likely / guess4243### 3) Extract canonical run/exec commands44Prefer authoritative sources, in this order:451) README/docs462) package.json scripts / Makefile / Taskfile / justfile473) Docker Compose profiles/services484) CI workflows (build + run steps)495) IDE launch configs (launch.json / launchSettings.json)5051Capture copy/paste commands per runnable unit.5253### 4) Identify runtime dependencies & required config (lightweight)54Without going deep into architecture:55- Required env vars/config files (list names only; don’t guess values)56- Local deps: DB, cache, queue, object storage, mock servers57- Ports and URLs (from config, compose, k8s)5859### 5) Validate “what runs” claims60- If a runnable unit has no runnable command found, explicitly mark it “unknown” and list where you looked.61- Never invent versions or commands.6263### 6) Generate/refresh `entrypoints.md`64- If file exists: update in place; preserve hand-written notes.65- Ensure each runnable unit includes: purpose, entrypoint, run command, required config, deps, evidence.6667## References68- Add stack-specific heuristics under `references/` only when needed.