agentic-project-starter is a Python boilerplate for new projects that need:
- a FastAPI runtime
- OpenAI Agents SDK scaffolding
- ETL job structure
- an optional ChatKit-based frontend accelerator
- local and Docker execution
- strong Codex contributor guidance through
AGENTS.mdand repo-local skills
This repository intentionally ships placeholder workflows rather than business logic. The goal is to give new projects a clean, opinionated starting point.
This repository is meant to be used as a GitHub template, not as the final application repo itself.
To start a new project:
- Open this repository on GitHub.
- Click
Use this template. - Create a new repository with your project name and visibility.
- Clone the new repository locally.
- In the new repository, update:
- package and module names if
agentic_project_starteris no longer the right name .envvalues and environment-variable defaults- README, docs, and runtime settings for the actual project
- package and module names if
- Commit that initial project rename and setup baseline before you start large implementation changes.
Recommended first pass in the new repo:
- decide the real product and user-facing workflow
- define the actual FastAPI routes and domain services
- replace placeholder agent definitions with project-specific agents, tools, and prompts
- replace ETL examples with real sources, transforms, and sinks
- decide whether Docker is enough for your demo or whether your project needs its own deployment setup
For a Codex-focused hackathon, keep the first loop small and demonstrable:
- Create a repository from this template and clone it.
- Run
cp .env.example .env, then addOPENAI_API_KEYif your demo needs live OpenAI calls. - Run
make setup,make doctor, andmake checkto confirm the scaffold is healthy. - Ask Codex to implement one real feature on top of the existing package boundaries.
- Run
make serveand, for chat-first demos,make frontend. - Before opening a PR, run
make quizand commit.change-quiz/result.json; the quiz check is mandatory by default.
After creating a new repo from this template, use Codex to replace the scaffold incrementally instead of asking for one giant rewrite.
Good prompts usually include:
- the business goal and target users
- the API or CLI behavior you want
- the data sources and storage model
- the runtime target
- constraints such as auth, latency, cost, compliance, or testing expectations
- concrete acceptance criteria
When prompting Codex in the new repo:
- tell it to preserve the overall scaffold unless there is a clear reason to change structure
- ask it to implement one subsystem at a time
- ask it to update tests, docs, and env vars together when behavior changes
- be explicit about what is real logic versus what should stay as reusable template scaffolding
- if you want frontend help, say whether the product is chat-first; this starter has repo-local skills that can recommend ChatKit when that is actually a good fit
- name the relevant repo-local skill when the task is fragile:
scaffold-outcomesfor first product work,frontend-starter-guidancefor chatbot/UI work, andarchitecture-boundariesfor runtime or API wiring
Example prompts for a new repo:
Use the scaffold-outcomes and architecture-boundaries skills.
Implement the real application logic for this project on top of the starter.
Keep the existing runtime/api/shared structure. Add FastAPI routes for account
creation, login, and project management, backed by PostgreSQL. Update tests,
environment variables, and docs as part of the change.
Use the scaffold-outcomes skill.
Replace the placeholder OpenAI Agents SDK scaffolding with a real multi-agent
workflow for financial research. Keep the existing agentic package structure.
Add a coordinator, researcher, and report-writer agent, define the tools they
use, and add smoke tests for registry wiring and dry-run behavior.
Use the agent-etl-scaffolder and architecture-boundaries skills.
Replace the ETL starter jobs with a real pipeline that ingests CSV files from S3,
normalizes them into a warehouse-friendly schema, and writes outputs to
PostgreSQL. Keep the existing etl package structure, add typed job configs, and
update docs and environment variables.
Use the frontend-starter-guidance skill.
Design the frontend for this product on top of the starter. First decide whether
the experience should be chat-first or not. If it is chat-first, you may
recommend the optional ChatKit path in `frontend/`, but keep the backend seams
generic and replaceable. If it is not chat-first, recommend a conventional React
app structure instead. Update docs and runtime wiring only where needed.
Use this after creating a new repo from the template to validate that the scaffold still boots correctly before you add real business logic.
cp .env.example .env
make setup
make doctor
make serve
make frontendAPI endpoints:
GET /healthzGET /v1/runtime/summaryPOST /chatkit
Optional frontend:
http://127.0.0.1:5173during local Vite development- same-origin frontend bundle in Docker after
docker compose up --build
make setup
make doctor
make check
make serve
make frontend
make frontend-build
make agent
make etl
make quiz
make quiz-verify
make docker-up.
├── src/agentic_project_starter
│ ├── agentic
│ ├── api
│ ├── chat
│ ├── cli
│ ├── etl
│ ├── runtime
│ └── shared
├── frontend
├── docs
└── .agents/skills