Initialize any project for AI-assisted development with a single command.
You're using multiple AI coding tools — Claude Code, OpenAI Codex CLI, Google Gemini CLI. Each has its own config file. You end up with:
- Instructions scattered across
CLAUDE.md,AGENTS.md,GEMINI.md - Each tool learning things the others don't know
- Inconsistent behavior when switching between tools
- Missing
.gitignoreentries that leak secrets or bloat repos - No structure for custom skills, agents, or rules
Run /init-workspace once. Get a project structure where:
- One file to rule them all: Write instructions in
AGENTS.mdonly. Claude Code, Codex CLI, and Gemini CLI all read from it automatically. - Shared memory: When any tool learns something new, it updates
AGENTS.md. All tools stay in sync. - Ready for customization: Directories for skills, agents, and rules are already in place.
- Safe defaults: Comprehensive
.gitignoreprotects secrets and keeps repos clean.
In Claude Code, run:
/plugin marketplace add xiaolai/init-workspace
/plugin install init-workspace@xiaolai-init-workspace
Then use /init-workspace:init-workspace to run.
mkdir -p ~/.claude/skills/init-workspace
curl -o ~/.claude/skills/init-workspace/SKILL.md \
https://raw.githubusercontent.com/xiaolai/init-workspace/main/skills/init-workspace/SKILL.mdOr clone the entire repo:
git clone https://github.com/xiaolai/init-workspace /tmp/iw && \
mkdir -p ~/.claude/skills/init-workspace && \
cp /tmp/iw/skills/init-workspace/SKILL.md ~/.claude/skills/init-workspace/ && \
rm -rf /tmp/iwThen use /init-workspace to run.
In any project directory, run:
/init-workspace # if installed as personal skill
/init-workspace:init-workspace # if installed as plugin
Claude will ask two questions:
- Project description — A single line describing your project
- Public or Private — Whether to share AI config files via git:
- Public (recommended): Team shares the same AI context
- Private: AI files are gitignored, each dev has their own
Then it creates:
project/
├── .claude/
│ ├── settings.json # Team-shared settings
│ ├── agents/ # Custom subagents
│ ├── skills/doc/ # /doc command included
│ └── rules/ # Modular rules
├── dev-docs/ # Generated documentation
├── .mcp.json # MCP server configuration
├── .gitignore # Comprehensive gitignore
├── AGENTS.md # Shared instructions (all tools read this)
├── CLAUDE.md # Claude Code (imports AGENTS.md)
└── GEMINI.md # Gemini CLI (imports AGENTS.md)
| File/Directory | Purpose |
|---|---|
AGENTS.md |
Your single source of truth for all AI tools |
CLAUDE.md |
Imports @AGENTS.md (Claude Code reads this) |
GEMINI.md |
Imports @AGENTS.md (Gemini CLI reads this) |
.claude/settings.json |
Team-shared permissions |
.claude/agents/ |
Custom subagents |
.claude/skills/ |
Custom slash commands |
.claude/rules/ |
Modular rules auto-loaded into context |
.mcp.json |
MCP server configuration |
dev-docs/ |
AI-generated documentation |
.gitignore |
Comprehensive ignore rules |
/doc <topic>— Create a timestamped markdown document indev-docs/
After initialization:
- Edit
AGENTS.mdto add project-specific instructions - Add custom subagents to
.claude/agents/ - Add custom skills to
.claude/skills/ - Add modular rules to
.claude/rules/ - Configure MCP servers in
.mcp.json
MIT