From ecc
Detects a project's stack from manifests and produces a dry-run ECC onboarding plan, writing files only after explicit user approval.
How this command is triggered — by the user, by Claude, or both
Slash command
/ecc:project-initThe summary Claude sees in its command listing — used to decide when to auto-load this command
# /project-init Create a safe, reviewable ECC onboarding plan for the current project. This command should start in dry-run mode and only write files after explicit user approval. ## Usage ## Safety Rules 1. Default to dry-run. Do not modify `CLAUDE.md`, settings files, rules, skills, or install state until the user approves the concrete plan. 2. Preserve existing project guidance. If `CLAUDE.md`, `.claude/settings.local.json`, `.cursor/`, `.codex/`, `.gemini/`, `.opencode/`, `.codebuddy/`, `.joycode/`, or `.qwen/` already exists, inspect it and propose a merge/append plan instead of ...
Create a safe, reviewable ECC onboarding plan for the current project. This command should start in dry-run mode and only write files after explicit user approval.
/project-init
/project-init --dry-run
/project-init --target claude
/project-init --target cursor
/project-init --skills continuous-learning-v2,security-review
/project-init --config ecc-install.json
CLAUDE.md, settings files, rules, skills, or install state until the user approves the concrete plan.CLAUDE.md, .claude/settings.local.json, .cursor/, .codex/, .gemini/, .opencode/, .codebuddy/, .joycode/, or .qwen/ already exists, inspect it and propose a merge/append plan instead of overwriting.Read the current project root and detect stack signals from:
package.json, package-lock.json, pnpm-lock.yaml, yarn.lock, bun.lockbpyproject.toml, requirements.txt, go.mod, Cargo.toml, pom.xml, build.gradle, build.gradle.ktsnext.config.*, vite.config.*, tailwind.config.*, Dockerfile, docker-compose.ymlecc-install.jsonconfig/project-stack-mappings.json in the ECC repoWhen the ECC checkout is available, use config/project-stack-mappings.json as the stack-to-rules/skills reference. If the file is unavailable, fall back to the installed ECC manifests and explicit user choices.
claude unless the user asks for cursor, codex, gemini, opencode, codebuddy, joycode, or qwen.ecc-install.json: node scripts/install-plan.js --config ecc-install.json --jsonnode scripts/install-plan.js --profile <profile> --target <target> --jsonnode scripts/install-plan.js --skills <skill-ids> --target <target> --jsonnode scripts/install-apply.js --target <target> --dry-run --json <language-or-profile-args>
Return:
If the user wants a CLAUDE.md starter, generate it separately from the installer plan and keep it minimal:
Never replace an existing CLAUDE.md without showing a diff and receiving approval.
config/project-stack-mappings.json for stack-to-surface hintsscripts/install-plan.js for deterministic plan resolutionscripts/install-apply.js for dry-run and apply operations/ecc-guide for interactive feature discovery before installingnpx claudepluginhub davidwuchn/ecc/project-initDetects a project's stack from manifests and produces a dry-run ECC onboarding plan, writing files only after explicit user approval.
/project-initDetects project tech stack and generates a dry-run ECC integration plan from manifest files and stack mappings, writing files only after user approval.
/cc-bootstrapScans repository to detect full tech stack and generates .claude/ architecture: CLAUDE.md, rules, agents, skills, settings.json, .mcp.json, and docs/context files. Supports --dry-run and --audit.
/initInitializes or audits .claude/ configuration by detecting repository tech stack and generating CLAUDE.md, settings.json, and rules. Supports --audit and --force flags.
/initialize-projectInitializes a project with Claude coding guardrails, detecting project state and optionally analyzing existing codebases. Generates CLAUDE.md and skills for both new and existing projects.
/init-projectScans current codebase to auto-generate project-level CLAUDE.md with detected stack, conventions, domain context, team rules, and clarifying questions.