Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/affaan-m/ECC/llms.txt

Use this file to discover all available pages before exploring further.

ECC’s stack mapping system eliminates manual per-project configuration. When you run /project-init in your harness, ECC scans the current directory for indicator files and automatically selects the matching rules, skills, commands, and shell permission policies for your tech stack. Twenty stacks are supported out of the box, defined in config/project-stack-mappings.json (schema version 1).

How Stack Detection Works

1

Scan indicator files

ECC scans the project root for the indicator files defined for each stack. Indicators can match by filename (e.g., tsconfig.json) or by filename plus content substring (e.g., package.json containing "react":).
2

Resolve stack

The first matching stack is selected. Multiple stacks can match; ECC merges their skill and command sets.
3

Apply configuration

ECC activates the mapped rules, loads the listed skills into your harness context, and sets up the standard build/test/lint/format commands and shell permission allow/deny lists.

All 20 Stack Mappings

Stack IDNameIndicator Files
typescriptTypeScript / JavaScripttsconfig.json, tsconfig.*.json, package.json with typescript
javascriptJavaScript (Node.js)package.json, .eslintrc*, eslint.config.*
reactReactpackage.json with "react":
nextjsNext.jsnext.config.*, package.json with "next":
golangGogo.mod, go.sum
pythonPythonpyproject.toml, setup.py, setup.cfg, requirements.txt, Pipfile, poetry.lock
rustRustCargo.toml, Cargo.lock
javaJavapom.xml, build.gradle, build.gradle.kts
springbootSpring Boot (Java/Kotlin)pom.xml with spring-boot, build.gradle with spring-boot, build.gradle.kts with spring-boot
kotlinKotlinbuild.gradle.kts, settings.gradle.kts, build.gradle with kotlin
swiftSwift / SwiftUIPackage.swift, *.xcodeproj, *.xcworkspace, Podfile
dart-flutterDart / Flutterpubspec.yaml, pubspec.lock
php-laravelPHP / Laravelcomposer.json, artisan, composer.lock
rubyRuby / RailsGemfile, Gemfile.lock, Rakefile
csharp-dotnetC# / .NET*.csproj, *.sln, global.json
cppC / C++CMakeLists.txt, Makefile, meson.build, *.vcxproj
perlPerlcpanfile, Makefile.PL, Build.PL, dist.ini
djangoDjango (Python)manage.py, requirements.txt with django, pyproject.toml with django
androidAndroid (Kotlin/Java)settings.gradle.kts with android, build.gradle with android, AndroidManifest.xml
dockerDocker / ContainerizedDockerfile, docker-compose.yml, docker-compose.yaml, compose.yml, compose.yaml

What Each Mapping Configures

Each stack entry defines four configuration areas:
{
  "id": "typescript",
  "name": "TypeScript / JavaScript",
  "indicators": [
    { "file": "tsconfig.json" },
    { "file": "package.json", "contains": "typescript" }
  ],
  "rules": ["common", "typescript"],
  "skills": [
    "coding-standards",
    "tdd-workflow",
    "verification-loop"
  ],
  "commands": {
    "build": ["npx tsc --noEmit", "npm run build"],
    "test": ["npm test", "npx jest", "npx vitest"],
    "lint": ["npx eslint .", "npx tsc --noEmit"],
    "format": ["npx prettier --write ."]
  },
  "permissions": {
    "allow": ["npx tsc", "npx eslint", "npx prettier", "npm test", "npm run *"],
    "deny": ["npm publish"]
  }
}
React projects get the full frontend skill stack in addition to TypeScript basics:Rules: common, typescript, web, reactSkills activated:
  • coding-standards
  • frontend-patterns
  • react-patterns
  • react-performance
  • react-testing
  • accessibility
  • tdd-workflow
  • verification-loop
Indicators: Cargo.tomlRules: common, rustSkills: coding-standards, rust-patterns, rust-testing, tdd-workflowCommands:
  • build: cargo build, cargo check
  • test: cargo test
  • lint: cargo clippy
  • format: cargo fmt
Permissions allow: cargo build, cargo test, cargo clippy, cargo fmt, cargo run
Python is detected by pyproject.toml, requirements.txt, setup.py, or Pipfile.Django gets additional detection: manage.py present + Django in requirements.Django skills: django-patterns, django-tdd, django-verification, django-security, coding-standardsDjango commands:
  • build: python manage.py check
  • test: python manage.py test, pytest
  • lint: flake8, ruff check .
  • format: black ., ruff format .

Triggering Auto-Configuration

Run /project-init in your AI harness after installing ECC:
/project-init
ECC scans the current directory, selects matching stacks, and activates the corresponding configuration for the session.

Overriding Auto-Detection

To use different skills than what the auto-detector selects, pass explicit --include / --exclude flags at install time:
# Install for a Python project but skip Perl skills
npx ecc install --profile developer --include lang:python --exclude lang:perl --target claude

# Add Django framework skills explicitly
npx ecc install --include framework:django --target claude
For monorepos with multiple languages, run /project-init from each subdirectory, or use --include to manually specify all the languages your project uses.

Build docs developers (and LLMs) love