git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/init-blueraai-bluera-base" ~/.claude/skills/majiayu000-claude-skill-registry-init-fb3cad && rm -rf "$T"
skills/data/init-blueraai-bluera-base/SKILL.mdInit
Set up a project with bluera-base conventions. Orchestrates existing commands.
Context
!
ls package.json pyproject.toml Cargo.toml go.mod pom.xml build.gradle Gemfile composer.json mix.exs 2>/dev/null | head -3 || echo "No project files detected"
Current State Detection
Check what's already set up:
# Config [ -f .bluera/bluera-base/config.json ] && echo "config: YES" || echo "config: NO" # Rules ls .claude/rules/*.md 2>/dev/null | wc -l | xargs -I{} echo "rules: {} files" # CLAUDE.md [ -f CLAUDE.md ] && (grep -q "@bluera-base" CLAUDE.md && echo "CLAUDE.md: YES (has @include)" || echo "CLAUDE.md: YES (no @include)") || echo "CLAUDE.md: NO"
Show status table:
| Component | Status |
|---|---|
| Config (.bluera/bluera-base/) | ✓ / ✗ |
| Rules (.claude/rules/) | ✓ / ✗ (N files) |
| CLAUDE.md | ✓ / ✗ / needs @include |
Workflow
If --quick
argument
--quickSkip interview, apply quick setup:
- Config init (if missing)
- Install rules (if missing)
- CLAUDE.md with @include (if missing or needs update)
If --full
argument
--fullSkip interview, apply full setup:
- All of quick setup
- Delegate to
/bluera-base:harden-repo - Ask about feature enablement
Otherwise: Interview
Use AskUserQuestion:
question: "What would you like to set up?" header: "Init" options: - label: "Quick setup (Recommended)" description: "Config + rules + CLAUDE.md" - label: "Full setup" description: "Quick setup + harden repo (linting, formatting, hooks)" - label: "Customize" description: "Choose individual components" multiSelect: false
If "Customize" selected:
question: "Select components to set up" header: "Components" options: - label: "Initialize config" description: "Create .bluera/bluera-base/ config structure" - label: "Install rules" description: "Copy rule templates to .claude/rules/" - label: "CLAUDE.md" description: "Create/update with @bluera-base include" - label: "Harden repo" description: "Linting, formatting, hooks, coverage" multiSelect: true
Execute Selected Components
For each selected component:
1. Config Init
If config not initialized:
- Create
directory.bluera/bluera-base/ - Write default
config.json - Update
with bluera patterns.gitignore
See
/bluera-base:config init for full workflow.
2. Install Rules
If rules not installed:
- Create
directory.claude/rules/ - Copy core rules:
,00-base.md
,anti-patterns.mdgit.md - Ask about optional rules
See
/bluera-base:install-rules for full workflow.
3. CLAUDE.md
If CLAUDE.md missing or needs @include:
- If missing: create with @include header
- If exists without @include: add @include at top
- Audit structure
See
/bluera-base:claude-code-md for full workflow.
4. Harden Repo (if selected)
Delegate entirely to
/bluera-base:harden-repo which has its own interview for:
- Language detection
- Linter/formatter selection
- Hook setup
- Coverage configuration
Feature Enablement
After setup, offer to enable features using 3 grouped questions.
Source of truth: See
<repo root>/skills/config/SKILL.md for the canonical feature list, descriptions, config paths, and dependencies.
Feature groups:
| Group | Features |
|---|---|
| Learning | , |
| Workflow | , , |
| Quality | , , , |
For each group, use AskUserQuestion with multiSelect=true. Pull feature labels and descriptions from the config skill's feature table.
Dependency handling: When enabling dependent features, auto-enable parent:
→ also enableauto-pushauto-commit
→ also enabledry-autodry-check
For each selected feature, update config using the config path from
<repo root>/skills/config/SKILL.md.
Report
Show summary:
## Setup Complete | Component | Status | |-----------|--------| | Config | ✓ Created | | Rules | ✓ 3 files installed | | CLAUDE.md | ✓ Updated with @include | | Harden repo | ✓ ESLint, Prettier, husky | | Features | ✓ strict-typing enabled | Next steps: - Review .claude/rules/ and customize if needed - Run /bluera-base:config show to see all settings - Run /bluera-base:help for available commands
Constraints
- Idempotent: Running init multiple times should be safe
- Non-destructive: Never overwrite existing files without asking
- Delegate: Use existing command workflows, don't reimplement
- Skip existing: Don't re-run setup for components already configured