Wizard-first adoption¶
The V1.0 default workflow for Repo Standards is an interactive Textual terminal wizard.
The existing CLI flows in Using Repo Standards, Existing repository migration, and New repository setup remain supported for scripted adoption and debugging.
Why wizard first?¶
Repo Standards migrations involve decisions that should be explicit:
- Is the repo public or private?
- Which license should it use?
- Is this maintained by one developer or multiple developers?
- Are public contributors expected?
- Should GitHub Discussions be enabled?
- Should public issue templates be included?
- Which AI/editor files should be replaced by Rulesync output?
- Which workflows are deploy/release workflows that must be preserved?
- Which checks are duplicates of standard Repo Standards workflows?
- Which language, platform, deploy, and governance modules apply?
A TUI makes these choices reviewable before any files are changed.
Launch command¶
python3 scripts/repo_standards_wizard.py
Common options:
python3 scripts/repo_standards_wizard.py \
--repo /path/to/project \
--standards /path/to/repo-standards
Wizard flow¶
- Select the target repository.
- Confirm existing/new repository mode.
- Answer governance questions.
- Run deterministic detection.
- Optionally run advisory AI inference for ambiguous CI/CD workflows.
- Review AI-agent cleanup.
- Review CI/CD classification.
- Confirm modules and quality gates.
- Preview the migration plan.
- Apply confirmed changes.
- Run Rulesync.
- Run assessment.
- Show a PR checklist.
Governance questions¶
The wizard asks:
| Question | Why it matters |
|---|---|
| Public or private? | Drives license defaults and public governance expectations |
| Which license? | Prevents accidental open-source or proprietary license changes |
| More than one developer? | Drives CODEOWNERS and branch protection recommendations |
| Public contributors expected? | Drives issue templates, PR templates, and support docs |
| GitHub Discussions enabled? | Determines whether README/contributing docs should mention Discussions |
| Public issue templates needed? | Controls .github/ISSUE_TEMPLATE/ recommendations |
| Security policy needed? | Controls SECURITY.md recommendation |
| CODEOWNERS recommended? | Helps multi-developer repos route reviews |
AI-agent cleanup¶
The wizard detects legacy or generated AI/editor instruction files:
AGENTS.md
CLAUDE.md
.cursorrules
.cursor/
.agents/
.antigravity/
The wizard requires explicit confirmation before deleting or replacing these files.
Recommended confirmation text:
replace-ai-files
After migration, canonical source is:
.repo-policy.yml
rulesync.jsonc
.rulesync/rules/*.md
Generated outputs are produced by Rulesync:
AGENTS.md
.cursor/rules/*.mdc
.agents/rules/*.md
.agents/memories/*.md
CLAUDE.md is treated as legacy/non-standard unless a supported Rulesync target is intentionally added.
CI/CD review¶
The wizard should scan:
.github/workflows/*.yml
.github/workflows/*.yaml
.github/dependabot.yml
.github/PULL_REQUEST_TEMPLATE.md
.github/ISSUE_TEMPLATE/*
Workflow classifications:
| Classification | Default action |
|---|---|
KEEP_DEPLOY |
Preserve |
KEEP_RELEASE |
Preserve unless standardizing release flow |
REPLACE_STANDARD_CHECK |
Replace after confirmation |
REPLACE_DUPLICATE_RELEASE_PLEASE |
Replace after confirmation |
REPLACE_DUPLICATE_SECRET_SCAN |
Replace after confirmation |
REPLACE_DUPLICATE_DOCS_CHECK |
Replace after confirmation |
REPLACE_DUPLICATE_AI_RULES_CHECK |
Replace after confirmation |
UNKNOWN_REVIEW_REQUIRED |
Preserve and require review |
Recommended confirmation text:
standardize-ci
Deploy, release, publish, Firebase, Cloudflare, GCP, Railway, Docker, and GitHub Pages workflows are preserved by default.
Plan preview¶
Before applying, the wizard should show grouped actions:
CREATE
DELETE
REPLACE
UPDATE
MERGE
KEEP
WARN
BLOCK
The plan cannot be applied while blockers remain.
Output files¶
The wizard should write:
.repo-standards-migration-state.json
.repo-standards-migration-summary.md
Assessment output should continue to use scripts/assess_repo_standards.py.