ECC’s stack mapping system eliminates manual per-project configuration. When you runDocumentation 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.
/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
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":).Resolve stack
The first matching stack is selected. Multiple stacks can match; ECC merges their skill and command sets.
All 20 Stack Mappings
| Stack ID | Name | Indicator Files |
|---|---|---|
typescript | TypeScript / JavaScript | tsconfig.json, tsconfig.*.json, package.json with typescript |
javascript | JavaScript (Node.js) | package.json, .eslintrc*, eslint.config.* |
react | React | package.json with "react": |
nextjs | Next.js | next.config.*, package.json with "next": |
golang | Go | go.mod, go.sum |
python | Python | pyproject.toml, setup.py, setup.cfg, requirements.txt, Pipfile, poetry.lock |
rust | Rust | Cargo.toml, Cargo.lock |
java | Java | pom.xml, build.gradle, build.gradle.kts |
springboot | Spring Boot (Java/Kotlin) | pom.xml with spring-boot, build.gradle with spring-boot, build.gradle.kts with spring-boot |
kotlin | Kotlin | build.gradle.kts, settings.gradle.kts, build.gradle with kotlin |
swift | Swift / SwiftUI | Package.swift, *.xcodeproj, *.xcworkspace, Podfile |
dart-flutter | Dart / Flutter | pubspec.yaml, pubspec.lock |
php-laravel | PHP / Laravel | composer.json, artisan, composer.lock |
ruby | Ruby / Rails | Gemfile, Gemfile.lock, Rakefile |
csharp-dotnet | C# / .NET | *.csproj, *.sln, global.json |
cpp | C / C++ | CMakeLists.txt, Makefile, meson.build, *.vcxproj |
perl | Perl | cpanfile, Makefile.PL, Build.PL, dist.ini |
django | Django (Python) | manage.py, requirements.txt with django, pyproject.toml with django |
android | Android (Kotlin/Java) | settings.gradle.kts with android, build.gradle with android, AndroidManifest.xml |
docker | Docker / Containerized | Dockerfile, docker-compose.yml, docker-compose.yaml, compose.yml, compose.yaml |
What Each Mapping Configures
Each stack entry defines four configuration areas:TypeScript — Full configuration example
TypeScript — Full configuration example
React — Skills activated
React — Skills activated
React projects get the full frontend skill stack in addition to TypeScript basics:Rules:
common, typescript, web, reactSkills activated:coding-standardsfrontend-patternsreact-patternsreact-performancereact-testingaccessibilitytdd-workflowverification-loop
Rust — Build and test commands
Rust — Build and test commands
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
cargo build, cargo test, cargo clippy, cargo fmt, cargo runPython / Django — Framework-aware detection
Python / Django — Framework-aware detection
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:
Overriding Auto-Detection
To use different skills than what the auto-detector selects, pass explicit--include / --exclude flags at install time: