skills/mp-init-repo/SKILL.md
Initialize git repo, push to GitHub, set up branch protection. Use when starting a new project.
npx skillsauth add MartinoPolo/mpx-claude-code mp-init-repoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Initialize a new git repository with comprehensive .gitignore, Claude Code project structure, GitHub remote, and branch protection.
Check for existing git repo: If .git/ already exists, inform the user and abort.
Run the init script: Execute the initialization script:
bash $HOME/.claude/skills/mp-init-repo/scripts/init-repo.sh
Create .mpx/ structure: Create the project documentation directory (see skills/shared/DOCUMENTATION_STRATEGY.md for format):
.mpx/CONTEXT.md # Project context: domain language, feature index, constraints
.mpx/DECISIONS.md # Settled architectural and design decisions
CONTEXT.md template:
# [Project Name] Context
## What This Is
[3-sentence project summary]
## Domain Language
[Terms added via `/mp-grill` or `/mp-vocabulary`]
## Core Features
[Feature index: name + status + PRD#]
## Key Constraints
[Settled facts about the system]
DECISIONS.md template:
# Decisions
Settled architectural and design decisions. Updated via `/mp-grill` and `/mp-harvest-decisions`.
Commit the .mpx/ files.
Ask repo visibility: Ask the user whether the GitHub repo should be private (default/recommended) or public.
Create GitHub repo and push:
main: git branch -m master main (if needed)gh repo create <repo-name> --private|--public --source=. --push
dev branch:
git checkout -b dev && git push -u origin dev
dev as the default branch:
gh api repos/{owner}/{repo} -X PATCH --field default_branch=dev
Set up branch protection on both main and dev:
gh api repos/{owner}/{repo}/branches/{branch}/protection -X PUT --input - <<'EOF'
{
"required_status_checks": {"strict": false, "contexts": ["checks"]},
"enforce_admins": true,
"required_pull_request_reviews": {"required_approving_review_count": 0},
"restrictions": null
}
EOF
Report results: Show the user what was created:
.git/, .gitignore, .claude/, .mpx/)main + dev, default = dev)project/
├── .git/
├── .gitignore # Comprehensive multi-language
├── .claude/
│ └── CLAUDE.md # Project context template
└── .mpx/
├── CONTEXT.md # Domain language, feature index, constraints
└── DECISIONS.md # Settled architectural decisions
GitHub:
├── Remote repo (private or public)
├── Branches: main, dev (default)
└── Branch protection on main + dev (if plan supports it)
.gitignore is copied from templates/gitignore.template — deterministic, no LLM generationmain.js, data.json) should be appended after init.mpx/ is intentionally NOT ignored — requirements and decisions should be versioneddev is always the default branch — development happens there, main is for stable/releaseschecks is a placeholder; actual CI workflow added separatelytools
Show current project progress. Displays phase status and next steps. Use when: "show status", "project progress", "what's done"
data-ai
Unified project setup. Auto-detects state and orchestrates mpx skills/agents for init, conversion, or restructure.
testing
Track bugs/issues in .mpx/ phase system. Parses reports, finds related phases, adds fix tasks or creates bugfix phases. Use when: "track this bug", "add issue to project", "log this bug", "add bug to checklist"
development
Project workflow guidance for spec-driven development. Background knowledge auto-loaded when relevant.