This is a template repository for any type of project that you want to build using coding agents. It contains a minimal set of agent instructions and a project structure that works well with agents like OpenAI Codex, Claude Code, Factory Droid, and others.
The idea is that you clone this repo, start your coding agent, and let it help you set up the rest.
Browse the AGENTS.md, the skill files and templates to see how agent instructions are structured. Copy whatever is useful into your own projects.
- Install the coding agent of your choice.
- OpenAI Codex: https://openai.com/codex/
- Claude Code: https://code.claude.com/docs/en/overview
- Factory.AI Droid: https://factory.ai/product/ide
- Opencode: https://opencode.ai/
- Pi: https://pi.dev/
- Aider: https://aider.chat/
- Clone this repository and open it in your terminal.
- Start your coding agent and prompt it with "Help me get started!"
The get-started skill will kick in and guide you through setting up your project interactively.
The main instruction file for your coding agent. This is read automatically by most agents at the start of every session. It contains guidelines for coding style, communication, approach, error handling, and documentation. These are opinionated defaults that work well in practice. Review them and adjust to your preferences.
See this blog post for more context on why these instructions look the way they do.
A one-liner that points to AGENTS.md. Claude Code reads CLAUDE.md by default, so this redirect makes sure it picks up the same instructions as every other agent.
Skills are task-specific prompts that are only loaded when needed. They keep your AGENTS.md focused on general guidelines while letting you define detailed workflows for recurring tasks.
This template ships with two skills:
get-started-- An interactive skill that walks you through setting up a new project. It asks about what you want to build, your skill level, preferred stack, and coding conventions. Then it creates a plan, customizes theAGENTS.mdto your project, and scaffolds the initial project structure. You can remove this skill once your project is set up.wrap-up-- A session-closing skill that helps the agent review completed work, record meaningful decisions indocs/decisions/, and keep plan files and their embedded## TODOssections current.
The .claude/skills directory is a symlink to .agents/skills/, so Claude Code can find them too.
A lightweight documentation structure for the agent (and you) to keep track of things across sessions:
docs/decisions/-- Record architectural or design decisions with date-stamped files (YYYY-MM-DD.md) so the agent can look up past reasoning.docs/plans/-- Multi-session plans that describe larger pieces of work, organized underactive/,pending/, andcompleted/.docs/plans/...plan files also carry their own## TODOssections at the bottom, so open follow-up work stays attached to the plan that produced it.
This structure exists because agents don't have memory across sessions. Without these files, every new session starts from zero context about what was decided and what was done before.
This folder contains starter config templates used by the get-started skill. They are not active until moved to the repo root.
They contain code quality checks with reasonable defaults to catch the common mistakes agents make: bad formatting, weak typing, dead code, large files, unused dependencies, and leaked secrets.
It is inspired by the concept of "Agent Readiness" by Factory.AI: https://factory.ai/news/agent-readiness
.pre-commit-config.yaml.gitignorepyproject.toml
Use this set for Python projects. It uses uv, ruff, ty, pre-commit checks, and secret scanning because they are fast, easy for agents to run locally. The uv config waits 30 days before accepting new package releases.
package.json.gitignoretsconfig.jsoneslint.config.mjssecretlint.config.mjs.husky/pre-commit.husky/pre-push.husky/_/husky.sh
Use this set for TypeScript projects. It uses Husky and lint-staged, while CI can still run the full validation script. ESLint, TypeScript, Knip, jscpd, and secretlint cover linting, strict typing, dead code, duplicate code, and secrets.