-
Notifications
You must be signed in to change notification settings - Fork 0
Agent Guide
This page is a deterministic orientation path for Claude, Codex, and other coding agents. Treat repository state and tests as authoritative; documentation narrows where to inspect but does not replace inspection.
For any generated-template task, the mandatory entry point is the Template-Agent-Guide. Resolve the exact bounded context from praxis.config.json instead of attempting to load the whole Wiki indiscriminately.
- Read
README.mdfor supported product surface. - Read Terminology, Architecture, and Code-Architecture.
- Inspect
git statusbefore editing; this repository may be shared by concurrent sessions. - Identify whether the task belongs to
cli/,web/,docs/, or root orchestration. - For generation behavior, trace configuration → resolver → selected manifests → composer → tests.
| Task | Start here | Then inspect |
|---|---|---|
| Add/change CLI option |
cli/src/cli/command.ts, runCreate.ts
|
schema, answers, help tests |
| Add standard framework/provider | cli/src/config/schema.ts |
resolver, matching template manifests, matrix tests |
| Add Pro capability | cli/src/config/pro.ts |
resolver, capability module, Compose/K8s/Terraform manifests, Pro tests |
| Fix generated file | output praxis.config.json
|
resolved modules, overlay source, all patches targeting file |
| Change UI style | cli/scripts/ui/ |
generated ui.<style>, previews, UI quality/matrix tests |
| Change local gallery | cli/src/ui/ |
templates/ui.catalog, gallery browser tests |
| Change website | web/ |
web/package.json, Vercel config, web build |
| Change Wiki | docs/ |
renderer, link checker, Wiki workflow |
When asked “where did this generated code come from?”:
- Validate/read the output's
praxis.config.json. - Apply
resolveModulesmentally or in a focused test. - Preserve module order.
- For each module, filter manifest entries using AND selector semantics.
- Map
root/frontend/backendscope for the project type. - Find the first overlay that creates the file.
- Find later overlays with
replace: trueand patches targeting it. - Include merged package/env contributions.
- Confirm the conclusion with an existing or new generation test.
- Validate before resolution and composition.
- Do not overwrite existing destination directories.
- Keep composition atomic and confined to staging/output roots.
- Keep module order deterministic.
- Reject dependency/script conflicts rather than silently winning.
- Make replacement explicit.
- Preserve reusable patch anchors when later modules depend on them.
- Record effective configuration in every output.
- Keep requested and resolved Pro capabilities distinct.
- Do not add Angular JavaScript output.
- Do not hand-edit generated UI matrices as the primary change.
- Do not include UI authoring design sources in the published npm package.
- Do not describe the legacy
probranch as architecture; Pro lives incli.
False. frontend has no backend. backend and fullstack use Express. pro-backend uses Django or Gin. UI templates only replace frontend landing-page files.
False. Only resolver-selected modules and matching manifest entries contribute.
Usually false. A capability can span application code, env keys, package dependencies, Compose patches, Kubernetes resources, Terraform, tests, and docs.
False. Praxis writes standalone framework code; the CLI is not a runtime dependency.
Often wrong. For UI artifacts, fix the canonical renderer/profile. For manifest outputs, fix the owning overlay or patch. Add a regression test at the source boundary.
- State the intended supported configuration(s).
- Add/adjust a failing focused test.
- Make the smallest source-of-truth change.
- Generate a representative project and inspect the real files.
- Run the focused test and applicable toolchain build.
- Run the full relevant matrix/gate from Testing.
- Update docs if configuration, module ownership, generated topology, or extension rules changed.
- Stage only files belonging to the task.
Agents should prefer these stable data sources over prose lists:
- supported standard values: exported constants/types in
cli/src/config/schema.ts; - Pro capability order/implications:
cli/src/config/pro.ts; - UI style IDs/metadata:
cli/src/ui/catalog.tsandcli/templates/ui.catalog/catalog.json; - module declarations:
cli/templates/*/manifest.json; - published package allowlist:
cli/package.json#files; - CI truth:
.github/workflows/ci.ymlandui-matrix.yml.
This Wiki is generated from the repository's versioned docs/ source. Update and review the source files; do not rely on hand edits to generated Wiki pages.
- Core-Internals
- Architecture
- Repository-Map
- Code-Architecture
- Generation-Pipeline
- Manifest-System
- UI-Templates
- Testing
- Agent-Guide
- Wiki-Publishing
- Template-Architecture
- Standard-Projects
- Standard-Frontend-Architecture
- Express-Architecture
- Fullstack-Architecture
- Praxis-Pro
- Django-Architecture
- Gin-Architecture
- Capability-Architecture
- Compose-Architecture
- Kubernetes-Architecture
- Terraform-Architecture
- Extending-Generated-Projects
- Generated-Backends