One config for every AI coding tool. One command to start your whole stack.
Every AI coding tool wants its own instruction file — .cursorrules, AGENTS.md, CLAUDE.md, SOUL.md, SKILL.md, copilot-instructions.md, and you're copy-pasting the same conventions between them. They drift. New projects start from scratch. Your team has no shared baseline.
Boot fixes this. It auto-detects your stack and generates agent context for Cursor, GitHub Copilot, OpenCode Claude Code, and Codex from one source. Your conventions follow you across projects. Your team's standards apply everywhere.
npx openboot agent init
# ▶ Stack: Next.js, Prisma, TypeScript, Tailwind CSS, Vitest
# ▶ Skills: cloudflare-deploy, github, coding-agent
# ✓ Wrote .cursorrules
# ✓ Wrote AGENTS.md
# ✓ Wrote CLAUDE.md
# ✓ Wrote .github/copilot-instructions.mdNo config file needed. Boot reads your package.json and project structure. Add a boot.yaml when you want control over conventions, soul, skills, or team profiles.
Boot also starts your whole stack with one command: Docker, apps, env checks, reverse proxy — but you can use it just for agent sync. No commitment to the rest.
npm install -g openbootOr try without installing:
npx openboot agent initRequires Node 18+.
Boot generates and syncs AI agent instruction files from one source of truth. It detects 30+ technologies from your project, merges personal and team conventions, and writes to every target at once.
boot agent init # auto-detect stack, generate all targets
boot agent sync # regenerate after editing boot.yaml
boot agent sync --overwrite # replace existing agent files
boot agent check # verify targets are in sync (CI-friendly)
boot agent remember "..." # save a pattern that carries across projects
boot agent status # see what Boot knows about your projectExisting agent files are preserved — Boot only creates missing targets. Use --overwrite to replace them.
Your conventions live in ~/.boot/agent/ and apply to every project automatically.
boot agent remember "Always validate API inputs with zod schemas"
boot agent remember "Prefer named exports over default exports"
boot agent save # push project conventions to your global storeImport conventions from another project:
boot agent init --from ~/other-projectAdd an agent section to boot.yaml for project-specific conventions:
agent:
description: "E-commerce platform with Next.js frontend and Express API"
conventions:
- Use server components by default
- All DB access through Prisma
references:
- git@github.com:Effect-TS/effect.git
targets:
- .cursorrules
- AGENTS.md
- CLAUDE.md
- .github/copilot-instructions.mdDefine who the AI agent is in your project, its values, boundaries, and voice. Inspired by the soul document concept. Boot generates a SOUL.md when you add a soul section.
agent:
soul:
identity: "You are a senior fullstack engineer. You care about code quality and user experience."
values:
- Correctness over speed
- Ask before making breaking changes
boundaries:
- Never modify production configs directly
- Always run tests before marking work complete
voice:
- Be direct and concise
- When uncertain, say soBoot doesn't generate skills, it finds and syncs the ones you already have. Skills follow the Agent Skills standard: each skill is a directory with a SKILL.md file containing YAML frontmatter.
skills/
├── cloudflare-deploy/
│ └── SKILL.md
├── github/
│ └── SKILL.md
└── coding-agent/
└── SKILL.md
Boot auto-scans skills/, .codex/skills/, and .cursor/skills/ for existing skills and includes their names and descriptions in the generated agent context. You can also specify custom scan paths:
agent:
skills:
paths:
- my-skills/
- shared/workflows/If your team profile repo has a skills/ directory, Boot syncs those skills into your project during boot agent init and boot agent sync, so the whole team shares the same capabilities.
Point your agent context at any git repo. Boot clones it to a global cache, keeps it updated, and includes the content so AI tools can answer questions about your dependencies.
agent:
references:
- git@github.com:Effect-TS/effect.git
- url: git@github.com:Effect-TS/effect.git
include:
- docs/
- packages/effect/README.mdWithout include, Boot pulls the README. With include, you control exactly what gets included. Repos are cached at ~/.boot/references/ and auto-refreshed.
Share a company-wide baseline across every repo. The team profile lives in a git repo — conventions, env rules, setup commands, and Boot merges it under your project config.
boot team set git@github.com:company/boot-standards.git
boot team sync # force-pull latest
boot team check # CI: verify it's applied
boot team status # see what's merged
boot team remove # disconnectteam:
url: git@github.com:company/boot-standards.git
required: trueTeam conventions are merged into the conventions list with a [team] prefix, so it's clear what comes from the team vs. the project.
Boot also orchestrates your entire dev environment. Docker, app processes, env validation, reverse proxy, from the same boot.yaml.
boot init # auto-detect stack, create boot.yaml
boot setup # one-time: install deps, start DB, run migrations
boot dev # start everything with live logs (Ctrl+C stops all)
boot up # start everything in the background
boot down # stop everything
boot status # show what's running
boot logs api -f # follow a service's logsEvery app gets a stable .localhost URL on port 1355. No more remembering port numbers:
api → http://api.localhost:1355
web → http://web.localhost:1355
name: my-project
env:
required:
- DATABASE_URL
- JWT_SECRET
setup:
- pnpm install
- pnpm db:push
docker:
composeFile: docker-compose.yml
services:
- name: postgres
readyCheck: pg_isready -U postgres
apps:
- name: api
path: apps/api
command: pnpm dev
port: 3001
- name: web
path: apps/web
command: pnpm dev
port: autoDefine editor tasks and CI workflows once, generate for multiple targets.
boot editor init # → .vscode/tasks.json + .zed/tasks.json
boot hub init # → .github/workflows/ci.yml + .forgejo/workflows/ci.ymleditor:
tasks:
- name: dev
command: pnpm dev
- name: test
command: pnpm test
group: test
targets: [.vscode, .zed]
hub:
ci:
on: [push, pull_request]
steps:
- name: Install
run: pnpm install
- name: Test
run: pnpm test
prTemplate:
sections:
- name: Summary
prompt: "What changed and why?"
- name: Test plan
prompt: "How was this tested?"
targets: [.github, .forgejo]Both support sync, check, and --overwrite, same pattern as agent sync.
See DETAILED.md for the full config reference, auto-detection list, and command details.