A reusable, drop-in project scaffold for vibe coding — building software with an AI coding agent driving most of the implementation. Works across the most common AI coding platforms (Claude Code, Cursor, GitHub Copilot, Windsurf, OpenAI Codex CLI, Aider, Continue, Zed) so you set convention once and any tool your team uses picks it up.
Public, MIT-licensed. Copy it into a new project, or drop the pieces you need into an existing one.
Every AI coding tool invented its own config file. Rather than maintaining N separate instruction sets, this repo:
- Puts the shared source of truth in
AGENTS.md(the emerging open convention read natively by Codex CLI, Aider, Continue, Zed, Cursor, and others). - Gives Claude Code its own richer setup (
CLAUDE.md+.claude/) since it supports structured rules, commands, skills, sub-agents, and hooks that other tools don't. - Adds a thin adapter file per remaining platform that just points back to
AGENTS.mdso instructions never drift out of sync.
Edit AGENTS.md and CLAUDE.md for your actual project; everything else is scaffold.
Vibe-Coding-Project-Structure-by-ePipra/
├── AGENTS.md # universal agent instructions (Codex, Aider, Continue, Zed, Cursor fallback)
├── CLAUDE.md # Claude Code: project overview, stack, conventions
├── CLAUDE.local.md.example # personal overrides template (copy to CLAUDE.local.md, gitignored)
├── .mcp.json.example # MCP server config template (copy to .mcp.json)
├── .cursor/
│ └── rules/
│ └── project.mdc # Cursor project rules
├── .github/
│ └── copilot-instructions.md # GitHub Copilot custom instructions
├── .windsurfrules # Windsurf rules
├── .claude/
│ ├── settings.json # permissions, tool access, hooks config (template)
│ ├── rules/ # modular topic rules, auto-loaded
│ │ ├── code-style.md
│ │ ├── testing.md
│ │ └── api-conventions.md
│ ├── commands/ # custom slash commands
│ │ ├── review.md
│ │ └── fix-issue.md
│ ├── skills/ # auto-triggered, on-demand instructions
│ │ └── example-skill/
│ │ └── SKILL.md
│ ├── agents/ # specialized sub-agents
│ │ ├── code-reviewer.md
│ │ └── security-auditor.md
│ └── hooks/ # pre/post tool-use scripts
│ └── validate-bash.sh
├── .gitignore
└── LICENSE
Pick whichever one command matches your situation. No account, config, or install beyond git/npx needed.
New project, starting fresh (keep the folder name as-is — don't rename it):
git clone https://github.com/epipra/Vibe-Coding-Project-Structure-by-ePipra.git
cd Vibe-Coding-Project-Structure-by-ePipra && rm -rf .git && git initNew project, no git history at all (uses degit):
npx degit epipra/Vibe-Coding-Project-Structure-by-ePipra Vibe-Coding-Project-Structure-by-ePipra
cd Vibe-Coding-Project-Structure-by-ePipraGitHub CLI (creates a new repo from the template directly):
gh repo create Vibe-Coding-Project-Structure-by-ePipra --template epipra/Vibe-Coding-Project-Structure-by-ePipra --public --cloneGitHub web UI: open the repo → green "Use this template" button → "Create a new repository".
Drop into an existing project (adds the files without touching your code):
npx degit epipra/Vibe-Coding-Project-Structure-by-ePipra /tmp/vibe-scaffold
cp -r /tmp/vibe-scaffold/. .
rm -rf /tmp/vibe-scaffoldAfter any of the above:
- Fill in
AGENTS.mdandCLAUDE.mdwith your real project overview, tech stack, and commands (build/test/lint). - Copy
.mcp.json.example→.mcp.jsonif you use MCP servers; copyCLAUDE.local.md.example→CLAUDE.local.mdfor personal notes. - Delete adapter files for platforms your team doesn't use (e.g. drop
.windsurfrulesif nobody uses Windsurf). - Commit. Every platform below picks up its file automatically — nothing else to configure.
Once the files are in your project root, each tool just works — open the folder in it, no setup step:
| Platform | What happens |
|---|---|
| Claude Code | Loads CLAUDE.md + .claude/ (rules, commands, skills, agents, hooks) at session start. |
| Cursor | Loads .cursor/rules/project.mdc automatically. |
| GitHub Copilot (VS Code/JetBrains) | Applies .github/copilot-instructions.md to chat/completions in this repo. |
| Windsurf | Loads .windsurfrules automatically. |
| OpenAI Codex CLI / Aider / Continue / Zed | Read AGENTS.md automatically — the open cross-tool convention. |
| Any other AI agent | Point it at AGENTS.md — one file, plain markdown, works anywhere. |
| File | Tool | Notes |
|---|---|---|
AGENTS.md |
Codex CLI, Aider, Continue, Zed, Cursor (fallback), most newer agents | Open, tool-agnostic convention. Keep this as the canonical instructions. |
CLAUDE.md + .claude/ |
Claude Code | Loaded at session start; supports rules/commands/skills/agents/hooks for larger setups. |
.cursor/rules/*.mdc |
Cursor | Supports frontmatter (description, globs, alwaysApply) for scoped rules. |
.github/copilot-instructions.md |
GitHub Copilot | Auto-applied to Copilot Chat/completions in this repo. |
.windsurfrules |
Windsurf (Codeium) | Plain-text rules file at repo root. |
Public and MIT-licensed — fork it, adapt it, send a PR if you improve the cross-platform mapping.