Skip to content

/project-init

Detect a project's stack and produce a dry-run ECC onboarding plan using the repository's install manifests and stack mappings. Use to onboard ECC into a target project via a reviewable dry-run plan; for general feature discovery and navigation use the ecc-guide skill or

From plugin
ecc
293k113 skills71 agents113 commands1 MCP
> /plugin marketplace add affaan-m/ECC
> /plugin install ecc@ecc

Command definition

project-init.md
description: Detect a project's stack and produce a dry-run ECC onboarding plan using the repository's install manifests and stack mappings. Use to onboard ECC into a target project via a reviewable dry-run plan; for general feature discovery and navigation use the ecc-guide skill or /ecc-guide command instead.

/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

/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

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 overwriting. 3. Use ECC's installer and manifest tooling. Do not hand-copy files or clone arbitrary remotes as an install shortcut. 4. Keep permissions narrow. Any generated settings should match detected build/test/lint tools and avoid broad shell access. 5. Report exactly what would change before applying anything.

Detection Inputs

Read the current project root and detect stack signals from:

  • package manager files: `package.json`, `package-lock.json`, `pnpm-lock.yaml`, `yarn.lock`, `bun.lockb`
  • language manifests: `pyproject.toml`, `requirements.txt`, `go.mod`, `Cargo.toml`, `pom.xml`, `build.gradle`, `build.gradle.kts`
  • framework files: `next.config.*`, `vite.config.*`, `tailwind.config.*`, `Dockerfile`, `docker-compose.yml`
  • ECC config: `ecc-install.json`
  • optional stack map: `config/project-stack-mappings.json` in the ECC repo

When 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.

Planning Flow

1. Identify the target harness. Default to `claude` unless the user asks for `cursor`, `codex`, `gemini`, `opencode`, `codebuddy`, `joycode`, or `qwen`. 2. Detect stacks from project files and show the evidence for each match. 3. Resolve the smallest useful ECC plan:

  • project has an `ecc-install.json`: `node scripts/install-plan.js --config ecc-install.json --json`
  • user named a profile: `node scripts/install-plan.js --profile <profile> --target <target> --json`
  • user named skills: `node scripts/install-plan.js --skills <skill-ids> --target <target> --json`
  • only language stacks are detected: use the legacy language install dry-run with those language names

4. Run a dry-run apply command before writing:

node scripts/install-apply.js --target <target> --dry-run --json <language-or-profile-args>

5. Summarize detected stacks, selected modules/components/skills, target paths, skipped unsupported modules, and files that would be changed. 6. Ask for approval before applying the non-dry-run command.

Output Contract

Return:

1. detected stack evidence 2. proposed target harness 3. exact dry-run command used 4. exact apply command to run after approval 5. files/directories that would be created or changed 6. warnings about existing files, broad permissions, missing scripts, or unsupported targets

CLAUDE.md Guidance

If the user wants a `CLAUDE.md` starter, generate it separately from the installer plan and keep it minimal:

  • build command, if detected
  • test command, if detected
  • lint/typecheck command, if detected
  • dev server command, if detected
  • repo-specific notes from existing package scripts or manifests

Never replace an existing `CLAUDE.md` without showing a diff and receiving approval.

Related

  • `config/project-stack-mappings.json` for stack-to-surface hints
  • `scripts/install-plan.js` for deterministic plan resolution
  • `scripts/install-apply.js` for dry-run and apply operations
  • `/ecc-guide` for interactive feature discovery before installing
Read more
@affaan-m
Ships withecc

Your agent can write code, but ECC gives it a coordinated engineering system and toolbox: it plans before it builds, verifies changes with tests, reviews its own work from a fresh context, remembers what matters, and turns repeated wins into reusable skills

293k200 skills71 agents1 MCP
Get the whole plugin, auto-invoked

Stars on GitHub

Momentum

stars in total
293.5k
Star history of affaan-m/ECC on GitHub, a chart by star-history.com

Other commands on ecc.

aside
Auto-invoked

aside

Command

Answer a quick side question without interrupting or losing context from the current task. Resume work automatically after…

@affaan-m@affaan-mInstall Command
astra-review
Auto-invoked

astra-review

Command

Send Claude-written code to GPT-6-Astra (ChatGPT, via Codex CLI) for an independent cross-provider review, then fix what it finds.

@affaan-m@affaan-mInstall Command
auto-update
Auto-invoked

auto-update

Command

Pull the latest ECC repo changes and reinstall the current managed targets.

@affaan-m@affaan-mInstall Command

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command
audit-codebase

audit-codebase

Command

RTK Codebase Health Audit — 7 catégories scorées 0-10

rtk1d86k
@rtk-ai@rtk-aiInstall Command