Imported from JesusFilm/forge (
AGENTS.md). Install upstream withnpx skills add JesusFilm/forge. Copyright stays with the author.
Forge Agent Guide
Use this file as the quick execution map. CLAUDE.md holds the detailed repo conventions; keep the two aligned.
Core model
- Web, mobile, and TV read from admin.
apps/adminGraphQL schema drives contracts forapps/webviapackages/admin-graphql.apps/adminGraphQL schema drives contracts for consumers viapackages/admin-graphql.- Both typed-client packages emit gql.tada introspection; never hand-edit
*-env.d.tsoutputs. - Deploy on Railway with Cloudflare edge controls.
Execution checklist
- Check
docs/roadmap/for a relevant ticket before starting. - If a ticket exists, set
status: "in-progress"before making changes. - If no ticket exists, create one in the correct lane using the next sequential
feat-NNNID and the format defined inCLAUDE.md. docs/solutions/is the searchable knowledge store for past bugs, patterns, and decisions, organized by category with YAML frontmatter (module,tags,problem_type); relevant when implementing or debugging documented areas. Checktodos/for unresolved findings when they apply to your scope.- Use
CONCEPTS.mdfor shared domain vocabulary when orienting to content, search, embeddings, and media concepts. - Read the package-local guide for the area you are changing before editing.
- For frontend changes, verify the change did not degrade page-loading performance; visual smoke alone is not enough when rendering, hydration, media, routing, or client-side initialization changed.
- Before pushing or opening/updating a PR, run PR-focused validation for the touched scope, including format and CI-sensitive checks.
- When the work is done, update the roadmap ticket to
status: "complete". Create a follow-upfeat-NNNticket if additional work is discovered.
Compound Engineering
- Follow the Compound Engineering loop:
ce:plan->ce:work->ce:review->ce:compound. - Start with explicit scope in
docs/plans/ordocs/<scope>/plans/when planning is needed. - Use Compound Engineering to brainstorm against the roadmap ticket before implementation when that workflow is available in your environment.
- After completion, compound durable learnings back into docs or rules.
Roadmap rules
- Keep roadmap files in
docs/roadmap/with YAML frontmatter. - Keep dependencies bidirectional: if a feature
depends_onanother feature, add the reverse entry toblocks. - Keep feature bodies agent-optimized: exact file paths, grep patterns, types, constraints, and verification.
Boundaries
- Recommendations and product analytics require no consent prerequisite. Preserve the configured Watch GA and Datadog integrations; follow
docs/analytics-and-recommendation-policy.mdwhen planning or changing either area. - One PR should stay within one scope unless explicitly broadened.
- No cross-imports between app contexts.
- Never hand-edit generated GraphQL env/types outputs.
- If the admin Pothos schema changes, regenerate
apps/admin/schema.graphqlANDpackages/admin-graphqltypes in the same PR. - Production deploys must go through the normal PR-to-main flow. Do not run
railway up, trigger Railway redeploys, or otherwise publish local worktree code directly to production unless the user explicitly declares a break-glass emergency and names the target service/environment in that same request.
Package guidance
apps/web/AGENTS.md+apps/web/CLAUDE.mdapps/manager/AGENTS.md+apps/manager/CLAUDE.mdapps/admin/AGENTS.md+apps/admin/CLAUDE.mdapps/mobile/CLAUDE.mdapps/tv/CLAUDE.mdapps/roadmap/CLAUDE.mdapps/chat/AGENTS.md+apps/chat/CLAUDE.mdapps/rag/AGENTS.md(canonical) +apps/rag/CLAUDE.md(provider redirect)packages/rag-contracts/AGENTS.md(canonical) +packages/rag-contracts/CLAUDE.md(provider redirect)docs/roadmap/rag/CLAUDE.mdpackages/admin-graphql/CLAUDE.md