Local ECC environment assembler with a Web UI and CLI
Project description
ECC Manager
English
ECC Manager is a local ECC environment assembler with a Web UI and CLI. It reads commands, skills, agents, rules, runtime files, and profile metadata from ECC_HOME, then assembles the right capabilities into a project for Claude Code, Codex, and Google Antigravity.
It is designed for local-first agent workflows: preview what will be written, apply only managed files or symlinks, keep a project lock, and run Doctor checks when the project or ECC source changes.
Features
- Local Web UI bound to
127.0.0.1by default. - Profile-based assembly: phase + architecture + stack fragment + pack.
- Preview-before-apply flow for symlinks, generated files, optional dependencies, and target conflicts.
- Optional targets for Claude Code, Codex, and Google Antigravity.
- Doctor checks for missing sources, broken symlinks, generated files, legacy artifacts, and command readiness.
- Bilingual Web UI for English and Simplified Chinese.
Install
Install from PyPI after the first release is published:
python3 -m pip install ecc-manager
Install from GitHub:
git clone https://github.com/KylePowell-LABS/ecc-manager.git
cd ecc-manager
python3 -m pip install .
Run without installing:
python3 -m ecc_manager.server
Create local wrapper commands:
bash scripts/install-local.sh
This creates:
~/.local/bin/ecc-use
~/.local/bin/ecc-manager
Make sure ~/.local/bin is on your PATH.
Quick Start
Start the Web UI:
ecc-manager
The default URL is:
http://127.0.0.1:8765
If the port is busy, ECC Manager tries the next available port. To start without opening a browser:
ecc-manager --no-open
To choose a port:
ecc-manager --port 8770
CLI examples:
ecc-use list
ecc-use doctor --project /path/to/project
ecc-use init ph-init arch-web-saas-next-postgres --project /path/to/project --dry-run
Configuration
Default paths:
ECC_HOME=~/everything-claude-code
PROFILE_HOME=~/.ecc-manager/profiles
You can change these paths in the Web UI Settings page or with environment variables:
ECC_HOME=/path/to/ecc-source PROFILE_HOME=/path/to/ecc-profiles ecc-manager
ECC_HOME should contain:
commands/
skills/
agents/
rules/
ECC Manager also reads optional ECC metadata when present:
VERSION
manifests/install-profiles.json
manifests/install-modules.json
manifests/install-components.json
config/project-stack-mappings.json
docs/COMMAND-REGISTRY.json
The currently tested ECC compatibility version is 2.0.0-rc.1. Other versions can still be scanned, but Doctor and profile health should be reviewed before applying changes.
Tool Targets
Claude Code is enabled by default. Codex and Antigravity are optional and must be enabled in Settings before ECC Manager generates their project files.
Managed targets can include:
.claude/
CLAUDE.ecc.generated.md
AGENTS.md
AGENTS.ecc.generated.md
ANTIGRAVITY.ecc.generated.md
.agents/skills/
.agents/agents.md
.codex/agents/
.codex/rules/
.agents/rules/
.agents/workflows/
AGENTS.md is used as the project instruction entrypoint for Codex and Antigravity. ECC Manager only updates managed blocks marked with ecc-manager; existing user content is preserved.
Safety
ECC Manager is a local tool. The Web UI binds to 127.0.0.1 by default, and write endpoints require a local session token. The server regenerates plans before applying them so browser-side mutations cannot change symlink targets.
Avoid exposing the server with --host 0.0.0.0 unless you understand the local network risk.
Development
Run tests:
python3 -m unittest
Build the package:
python3 -m build
See CONTRIBUTING.md for contribution guidelines and docs/USER_GUIDE.md for the detailed Chinese user guide.
License
MIT. See LICENSE.
简体中文
ECC Manager 是一个本地 ECC 环境装配器。它把 ECC_HOME 里的 commands、skills、agents、rules 按 phase + architecture + tech-stack fragment + pack 组合,装配到当前项目的 Claude Code、Codex 和 Antigravity 本地配置里。
第一次使用建议先看完整教程:ECC Manager 使用文档。
它默认启动一个只监听本机的 Web UI,并自动打开浏览器:
ecc-manager
默认地址是:
http://127.0.0.1:8765
如果端口被占用,会自动尝试后续端口。
安装
从 PyPI 安装:
python3 -m pip install ecc-manager
从 GitHub clone 后安装为本机命令:
git clone https://github.com/KylePowell-LABS/ecc-manager.git
cd ecc-manager
python3 -m pip install .
也可以不安装,直接在仓库里运行:
python3 -m ecc_manager.server
如果只想创建本地 wrapper:
bash scripts/install-local.sh
会创建:
~/.local/bin/ecc-use
~/.local/bin/ecc-manager
请确认 ~/.local/bin 已加入 PATH。
配置
默认路径:
ECC_HOME=~/everything-claude-code
PROFILE_HOME=~/.ecc-manager/profiles
首次打开 Web UI 后,可以在“设置”里选择自己的 ECC_HOME 和 PROFILE_HOME。也可以用环境变量覆盖:
ECC_HOME=/path/to/ecc-source PROFILE_HOME=/path/to/ecc-profiles ecc-manager
ECC_HOME 需要包含:
commands/
skills/
agents/
rules/
ECC Manager 会优先读取 ECC 仓库里的官方元数据:
VERSION
manifests/install-profiles.json
manifests/install-modules.json
manifests/install-components.json
config/project-stack-mappings.json
docs/COMMAND-REGISTRY.json
当前测试兼容的 ECC 版本是 2.0.0-rc.1。如果用户的 ECC 版本不同,Web UI 和 Doctor 会提示兼容状态;仍可扫描本地资产,但建议先检查 profile health 和缺失引用后再执行装配。
使用目标选择
默认只生成 Claude Code 需要的 .claude/ symlink、CLAUDE.ecc.generated.md 和项目 lock。Codex 和 Antigravity 是可选目标,需要用户在 Web UI 的“设置”里打开后才会生成对应文件。
可选目标适用于 Codex 桌面端、Codex CLI、Codex IDE 扩展,以及 Google Antigravity:
AGENTS.md
AGENTS.ecc.generated.md
ANTIGRAVITY.ecc.generated.md
.agents/skills/
.agents/agents.md
.codex/agents/
.codex/rules/
.agents/rules/
.agents/workflows/
AGENTS.md 是 Codex 和 Antigravity 会读取的项目指令入口。ECC Manager 只维护带 ecc-manager 标记的托管区;用户已有内容会保留。启用 Codex 后,ECC skills 会链接或适配到 .agents/skills/,ECC agents 会转换成 Codex custom agent TOML 放到 .codex/agents/。
Codex 没有 Claude Code 的自定义 slash command 文件加载机制,所以 ECC commands 会适配成 repo-scoped skills,并以命令索引写入 AGENTS 托管区。用户在 Codex 里说 /review-pr、/python-review 这类 ECC 命令时,Codex 会按对应的 .agents/skills/ecc-* command skill 执行。
启用 Antigravity 后,ECC Manager 会把 ECC agents 聚合到 .agents/agents.md,把 ECC skills 链接或适配到 .agents/skills/,把 ECC rules 适配到 .agents/rules/,把 ECC commands 转成 .agents/workflows/ 下的 workflow Markdown。.agent/workflows/ 仅作为旧版残留被 Doctor 识别和提示,不再作为新生成目标。
使用
Web UI:
ecc-manager
不自动打开浏览器:
ecc-manager --no-open
指定端口:
ecc-manager --port 8770
命令行:
ecc-use list
ecc-use doctor --project /path/to/project
ecc-use init ph-init arch-web-saas-next-postgres --project /path/to/project --dry-run
安全说明
ECC Manager 是本地工具,默认只绑定 127.0.0.1。Web UI 的写入接口带有本地会话 token,并且执行时会在服务端重新生成计划,避免浏览器端篡改 symlink 目标。
不建议把 --host 设置成 0.0.0.0 暴露给局域网或公网。
开发
运行测试:
python3 -m unittest
构建包:
python3 -m build
贡献说明见 CONTRIBUTING.md,安全报告说明见 SECURITY.md。
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ecc_manager-0.1.0.tar.gz.
File metadata
- Download URL: ecc_manager-0.1.0.tar.gz
- Upload date:
- Size: 124.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75120bd895c086987191240a818c248cf10693d6cd03bcbd1288452c4f62c493
|
|
| MD5 |
ba301fbb915758ffcca6dadf05b45a57
|
|
| BLAKE2b-256 |
8a167f612aa4de8187efb5cb910abcb93d040ce62f2ca9abcdec3f22c884e944
|
Provenance
The following attestation bundles were made for ecc_manager-0.1.0.tar.gz:
Publisher:
publish.yml on KylePowell-LABS/ecc-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ecc_manager-0.1.0.tar.gz -
Subject digest:
75120bd895c086987191240a818c248cf10693d6cd03bcbd1288452c4f62c493 - Sigstore transparency entry: 1678170969
- Sigstore integration time:
-
Permalink:
KylePowell-LABS/ecc-manager@21c27986191e0cd3417a44c508993f2a76b16279 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/KylePowell-LABS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@21c27986191e0cd3417a44c508993f2a76b16279 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ecc_manager-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ecc_manager-0.1.0-py3-none-any.whl
- Upload date:
- Size: 112.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cec6d9fa203c01d579e3183675507a35915da9c310fde355fbae0d1c3e0d366
|
|
| MD5 |
cd9a248829dd1dc0691c32c5386462bf
|
|
| BLAKE2b-256 |
3bcd07eba3c8aa8631a08c8e10fcbde7c6b80c5f4bd5d38bc33142b9c861f29d
|
Provenance
The following attestation bundles were made for ecc_manager-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on KylePowell-LABS/ecc-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ecc_manager-0.1.0-py3-none-any.whl -
Subject digest:
0cec6d9fa203c01d579e3183675507a35915da9c310fde355fbae0d1c3e0d366 - Sigstore transparency entry: 1678170991
- Sigstore integration time:
-
Permalink:
KylePowell-LABS/ecc-manager@21c27986191e0cd3417a44c508993f2a76b16279 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/KylePowell-LABS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@21c27986191e0cd3417a44c508993f2a76b16279 -
Trigger Event:
push
-
Statement type: