diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json index e730e4eed..a69ad3709 100644 --- a/.agents/plugins/marketplace.json +++ b/.agents/plugins/marketplace.json @@ -6,7 +6,7 @@ "plugins": [ { "name": "ecc", - "version": "2.2.2", + "version": "2.2.3", "source": { "source": "local", "path": "./" diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index d5385a381..0d83b4a00 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -12,7 +12,7 @@ "name": "ecc", "source": "./", "description": "Harness-native ECC operator layer - 68 agents, 293 skills, 94 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses", - "version": "2.2.2", + "version": "2.2.3", "author": { "name": "Affaan Mustafa", "email": "me@affaanmustafa.com" diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 8871e37d2..64d1f8ede 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "ecc", - "version": "2.2.2", + "version": "2.2.3", "description": "Harness-native ECC plugin for engineering teams - 68 agents, 293 skills, 94 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses", "author": { "name": "Affaan Mustafa", diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index c1399c129..c24f7453c 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "ecc", - "version": "2.2.2", + "version": "2.2.3", "description": "Harness-native ECC workflows for Codex: shared skills, production-ready MCP configs, and selective-install-aligned conventions for TDD, security scanning, code review, and autonomous development.", "author": { "name": "Affaan Mustafa", diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f71cf38a5..10b364c52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -261,7 +261,7 @@ jobs: PACKAGE_VERSION: ${{ needs.verify.outputs.package_version }} run: | REGISTRY_INTEGRITY="" - for ATTEMPT in 1 2 3 4 5 6; do + for ATTEMPT in $(seq 1 30); do set +e REGISTRY_INTEGRITY=$(npm view "${PACKAGE_NAME}@${PACKAGE_VERSION}" dist.integrity 2>&1) NPM_STATUS=$? @@ -269,12 +269,12 @@ jobs: if [ "$NPM_STATUS" -eq 0 ]; then break fi - if [ "$ATTEMPT" -eq 6 ]; then - echo "::error::Published npm artifact was not readable after six attempts" + if [ "$ATTEMPT" -eq 30 ]; then + echo "::error::Published npm artifact was not readable after five minutes" printf '%s\n' "$REGISTRY_INTEGRITY" exit "$NPM_STATUS" fi - sleep 5 + sleep 10 done ECC_REGISTRY_INTEGRITY="$REGISTRY_INTEGRITY" node -e "const crypto = require('crypto'); const fs = require('fs'); const expected = process.env.ECC_REGISTRY_INTEGRITY; if (!/^sha512-[A-Za-z0-9+/]+={0,2}$/.test(expected || '')) throw new Error('Invalid published registry integrity'); const actual = 'sha512-' + crypto.createHash('sha512').update(fs.readFileSync(process.env.ECC_RELEASE_PACKAGE)).digest('base64'); if (actual !== expected) throw new Error('Published npm artifact does not match tested candidate')" diff --git a/.github/workflows/reusable-release.yml b/.github/workflows/reusable-release.yml index 74ab4c003..73d6ec293 100644 --- a/.github/workflows/reusable-release.yml +++ b/.github/workflows/reusable-release.yml @@ -253,7 +253,7 @@ jobs: PACKAGE_VERSION: ${{ needs.verify.outputs.package_version }} run: | REGISTRY_INTEGRITY="" - for ATTEMPT in 1 2 3 4 5 6; do + for ATTEMPT in $(seq 1 30); do set +e REGISTRY_INTEGRITY=$(npm view "${PACKAGE_NAME}@${PACKAGE_VERSION}" dist.integrity 2>&1) NPM_STATUS=$? @@ -261,12 +261,12 @@ jobs: if [ "$NPM_STATUS" -eq 0 ]; then break fi - if [ "$ATTEMPT" -eq 6 ]; then - echo "::error::Published npm artifact was not readable after six attempts" + if [ "$ATTEMPT" -eq 30 ]; then + echo "::error::Published npm artifact was not readable after five minutes" printf '%s\n' "$REGISTRY_INTEGRITY" exit "$NPM_STATUS" fi - sleep 5 + sleep 10 done ECC_REGISTRY_INTEGRITY="$REGISTRY_INTEGRITY" node -e "const crypto = require('crypto'); const fs = require('fs'); const expected = process.env.ECC_REGISTRY_INTEGRITY; if (!/^sha512-[A-Za-z0-9+/]+={0,2}$/.test(expected || '')) throw new Error('Invalid published registry integrity'); const actual = 'sha512-' + crypto.createHash('sha512').update(fs.readFileSync(process.env.ECC_RELEASE_PACKAGE)).digest('base64'); if (actual !== expected) throw new Error('Published npm artifact does not match tested candidate')" diff --git a/.opencode/package-lock.json b/.opencode/package-lock.json index 1ea48a9d1..11f80e210 100644 --- a/.opencode/package-lock.json +++ b/.opencode/package-lock.json @@ -1,12 +1,12 @@ { "name": "ecc-universal", - "version": "2.2.2", + "version": "2.2.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ecc-universal", - "version": "2.2.2", + "version": "2.2.3", "license": "MIT", "devDependencies": { "@opencode-ai/plugin": "^1.4.3", diff --git a/.opencode/package.json b/.opencode/package.json index e71d5df73..9a335539c 100644 --- a/.opencode/package.json +++ b/.opencode/package.json @@ -1,6 +1,6 @@ { "name": "ecc-universal", - "version": "2.2.2", + "version": "2.2.3", "description": "ECC plugin for OpenCode - agents, commands, hooks, and skills", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/.opencode/plugins/ecc-hooks.ts b/.opencode/plugins/ecc-hooks.ts index bf06c03f8..e350adad6 100644 --- a/.opencode/plugins/ecc-hooks.ts +++ b/.opencode/plugins/ecc-hooks.ts @@ -541,7 +541,7 @@ export const ECCHooksPlugin: ECCHooksPluginFn = async ({ const contextBlock = [ "# ECC Context (preserve across compaction)", "", - "## Active Plugin: ECC v2.2.2", + "## Active Plugin: ECC v2.2.3", "- Hooks: file.edited, tool.execute.before/after, session.created/idle/deleted, shell.env, compacting, permission.ask", "- Tools: run-tests, check-coverage, security-audit, format-code, lint-check, git-summary, changed-files", "- Agents: 13 specialized (planner, architect, tdd-guide, code-reviewer, security-reviewer, build-error-resolver, e2e-runner, refactor-cleaner, doc-updater, go-reviewer, go-build-resolver, database-reviewer, python-reviewer)", diff --git a/AGENTS.md b/AGENTS.md index 2107af90a..1eef917a0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,7 @@ This is a **production-ready AI coding plugin** providing 68 specialized agents, 293 skills, 94 commands, and automated hook workflows for software development. -**Version:** 2.2.2 +**Version:** 2.2.3 ## Core Principles diff --git a/CHANGELOG.md b/CHANGELOG.md index 0eea94dc4..c8c5686df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## 2.2.3 - 2026-10-01 + +### Changed + +#### Naming + +- `pi/core` refers to the project as ECC only. The generated README and the bundled `blueprint` skill no longer expand the name; profile contents, package name (`ecc-pi-core`) and paths are unchanged. + +### Fixed + +#### Release workflow + +- Poll the npm registry for up to five minutes after `npm publish` before verifying the published artifact, so a slow registry no longer fails the run before `latest` is promoted and the GitHub Release is created. + ## 2.2.2 - 2026-09-15 ### Added diff --git a/README.md b/README.md index f6a5ed208..95673de4b 100644 --- a/README.md +++ b/README.md @@ -171,7 +171,7 @@ Access to 68 agents, 293 skills, and 94 legacy command shims, plus hooks, rules, For Claude Code plugin setup, updates, scope changes, and hook-profile changes: ```bash -npx ecc-universal@2.2.2 setup +npx ecc-universal@2.2.3 setup ``` #### Windows first-time walkthrough @@ -191,7 +191,7 @@ If you are new to command-line tools, use this copy-and-paste path: 4. Run the guided installer: ```powershell - npx ecc-universal@2.2.2 setup + npx ecc-universal@2.2.3 setup ``` 5. For a typical personal setup, choose **Global user**, choose **Standard** hooks, and confirm. @@ -209,12 +209,12 @@ ECC 2.2 supports the same guided setup through modern package runners: | Package runner | Guided setup command | |---|---| -| npm / npx | `npx ecc-universal@2.2.2 setup` | -| pnpm | `pnpm dlx ecc-universal@2.2.2 setup` | -| Yarn 2+ | `yarn dlx ecc-universal@2.2.2 setup` | -| Bun | `bunx ecc-universal@2.2.2 setup` | +| npm / npx | `npx ecc-universal@2.2.3 setup` | +| pnpm | `pnpm dlx ecc-universal@2.2.3 setup` | +| Yarn 2+ | `yarn dlx ecc-universal@2.2.3 setup` | +| Bun | `bunx ecc-universal@2.2.3 setup` | -The examples select [the published ECC 2.2.2 release](https://www.npmjs.com/package/ecc-universal/v/2.2.2), matching this repository's release version. A version pin is not a security audit or an integrity check. Review the release source and registry integrity before running package code; use a reviewed checkout for unreleased changes. +The examples select [the published ECC 2.2.3 release](https://www.npmjs.com/package/ecc-universal/v/2.2.3), matching this repository's release version. A version pin is not a security audit or an integrity check. Review the release source and registry integrity before running package code; use a reviewed checkout for unreleased changes. Yarn Classic 1 does not provide `yarn dlx`; use `npx`, install the package globally, or upgrade Yarn for a temporary one-shot run. @@ -223,7 +223,7 @@ The wizard inventories the official marketplace and every native Claude install To configure more than one coding agent in one reviewed flow, use the multi-harness wizard: ```bash -npx ecc-universal@2.2.2 install --guided +npx ecc-universal@2.2.3 install --guided ``` It lets you select any combination of Claude Code, Codex, and Kimi Code, shows each install channel and destination, preflights every selection before the first write, and asks for one final confirmation. @@ -237,7 +237,7 @@ It lets you select any combination of Claude Code, Codex, and Kimi Code, shows e For automation, make every provider-specific choice explicit: ```bash -npx ecc-universal@2.2.2 install --guided \ +npx ecc-universal@2.2.3 install --guided \ --harness claude --harness codex --harness kimi \ --claude-scope local --claude-hooks standard \ --profile core --yes @@ -246,16 +246,16 @@ npx ecc-universal@2.2.2 install --guided \ Verify the native guided Codex path and managed Kimi path without writing first: ```bash -npx ecc-universal@2.2.2 install --guided --harness codex --dry-run -npx ecc-universal@2.2.2 install --profile core --target kimi --dry-run +npx ecc-universal@2.2.3 install --guided --harness codex --dry-run +npx ecc-universal@2.2.3 install --profile core --target kimi --dry-run ``` Additional package-name commands are also available through the 2.2 alias: ```bash -npx ecc-universal@2.2.2 consult "security reviews" --target claude -npx ecc-universal@2.2.2 install --profile minimal --target claude --with capability:machine-learning -npx ecc-universal@2.2.2 doctor --target kimi +npx ecc-universal@2.2.3 consult "security reviews" --target claude +npx ecc-universal@2.2.3 install --profile minimal --target claude --with capability:machine-learning +npx ecc-universal@2.2.3 doctor --target kimi ``` Do not use `npx ecc-install --profile minimal --target claude`: `ecc-install` is a binary name inside `ecc-universal`, not a separately published npm package. @@ -427,7 +427,7 @@ Deep per-harness notes (feature parity, hook adapters, limitations) live in [Pla Use this when you want ECC's rules, agents, commands, platform config, and core workflows without runtime hooks: ```bash -npx ecc-universal@2.2.2 install --profile minimal --target claude +npx ecc-universal@2.2.3 install --profile minimal --target claude ``` From a source checkout, the equivalent command is: @@ -615,11 +615,11 @@ If you installed from the universal package, run these commands from the same project directory used for installation: ```bash -npx ecc-universal@2.2.2 list-installed -npx ecc-universal@2.2.2 doctor -npx ecc-universal@2.2.2 repair -npx ecc-universal@2.2.2 uninstall --dry-run -npx ecc-universal@2.2.2 uninstall +npx ecc-universal@2.2.3 list-installed +npx ecc-universal@2.2.3 doctor +npx ecc-universal@2.2.3 repair +npx ecc-universal@2.2.3 uninstall --dry-run +npx ecc-universal@2.2.3 uninstall ``` From a source checkout, inspect the managed state before reinstalling: @@ -808,7 +808,7 @@ The `ito-compute-cli` package is currently unpublished. Build it locally from th ## What's New -Current release: **2.2.2** (2026-08-31). Highlights of the 2.2 line: +Current release: **2.2.3** (2026-10-01). Highlights of the 2.2 line: - Guided, manifest-driven setup across Claude Code, Codex, and Kimi Code, with install-state ownership, doctor, repair, and uninstall. - Native Antigravity install, a thin Pi adapter, and the packed-artifact release gate tested on Linux, macOS, and Windows. @@ -1225,7 +1225,7 @@ ECC's Memory Vault gives Claude, Codex, Hermes, OpenClaw, Kimi, and other harnes Skill-only, minimal, manual, and Claude plugin installs do not put the Memory Vault runtime on `PATH`. Install the npm runtime separately before using the CLI or optional MCP server: ```bash -npm install -g ecc-universal@2.2.2 +npm install -g ecc-universal@2.2.3 ecc memory init --scope project ecc memory search "authentication migration" --target-harness codex ecc memory doctor @@ -1625,7 +1625,7 @@ opencode **Option 2: Install as npm package** ```bash -npm install ecc-universal@2.2.2 +npm install ecc-universal@2.2.3 ``` Then add to your `opencode.json`: diff --git a/README.zh-CN.md b/README.zh-CN.md index db76d3f0d..d8628ac80 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -80,6 +80,10 @@ ## 最新动态 +### v2.2.3 — pi/core 配置与发布可靠性(2026年10月) + +`pi/core` 配置现在仅以 ECC 称呼本项目,发布工作流在校验已发布的包之前会等待 npm 最多五分钟。 + ### v2.2.2 — 引导式多 Harness 安装(2026年8月) 新增可审查的 Claude Code、Codex 与 Kimi Code 多 Harness 安装流程,并提供同步的 npm 命令入口。 diff --git a/VERSION b/VERSION index b1b25a5ff..585940699 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.2 +2.2.3 diff --git a/agent.yaml b/agent.yaml index 4236f04cc..11df81720 100644 --- a/agent.yaml +++ b/agent.yaml @@ -1,6 +1,6 @@ spec_version: "0.1.0" name: ecc -version: 2.2.2 +version: 2.2.3 description: "Initial gitagent export surface for ECC's shared skill catalog, governance, and identity. Native agents, commands, and hooks remain authoritative in the repository while manifest coverage expands." author: affaan-m license: MIT diff --git a/docs/SELECTIVE-INSTALL-ARCHITECTURE.md b/docs/SELECTIVE-INSTALL-ARCHITECTURE.md index cd5e2226d..e49d9918e 100644 --- a/docs/SELECTIVE-INSTALL-ARCHITECTURE.md +++ b/docs/SELECTIVE-INSTALL-ARCHITECTURE.md @@ -703,7 +703,7 @@ Suggested payload: "skippedModules": [] }, "source": { - "repoVersion": "2.2.2", + "repoVersion": "2.2.3", "repoCommit": "git-sha", "manifestVersion": 1 }, diff --git a/docs/pt-BR/README.md b/docs/pt-BR/README.md index e0ecf8d41..56d564311 100644 --- a/docs/pt-BR/README.md +++ b/docs/pt-BR/README.md @@ -79,6 +79,10 @@ Este repositório contém apenas o código. Os guias explicam tudo. ## O Que Há de Novo +### v2.2.3 — Perfil pi/core e Confiabilidade de Releases (Out 2026) + +O perfil `pi/core` agora se refere ao projeto apenas como ECC, e o workflow de release aguarda até cinco minutos pelo npm antes de verificar o pacote publicado. + ### v2.2.2 — Instalação Guiada para Múltiplos Harnesses (Ago 2026) Adiciona uma instalação revisável para Claude Code, Codex e Kimi Code, com uma entrada de comando npm sincronizada. diff --git a/docs/releases/2.2.3/release-notes.md b/docs/releases/2.2.3/release-notes.md new file mode 100644 index 000000000..4826120ed --- /dev/null +++ b/docs/releases/2.2.3/release-notes.md @@ -0,0 +1,26 @@ +# ECC 2.2.3 + +ECC 2.2.3 is a naming and release-reliability update. The project is called ECC +everywhere it ships, starting with the `pi/core` profile, and the release +workflow now waits long enough for npm to serve a freshly published version. + +## Naming + +- `pi/core` no longer expands the project name: its README and the bundled + `blueprint` skill refer to ECC only. The profile contents are otherwise + unchanged: 123 curated skills and 24 prompt commands, 35,006 characters of + skill description text. +- Downstream packagers need no changes. The package is still `ecc-pi-core`, the + directory is still `pi/core/`, and existing install paths keep working. + +## Release workflow + +- After `npm publish`, the release workflow polls the registry for up to five + minutes before verifying the published artifact. In 2.2.2 it gave up after + about 30 seconds while npm was still processing the upload, so the run failed + before promoting `latest` and creating the GitHub Release, and had to be + re-run. + +Downstream consumption is unchanged: poll `/releases`, download +`archive/refs/tags/vX.Y.Z.tar.gz`, pin its sha256, copy `pi/core/`, and load it +offline. diff --git a/docs/tr/AGENTS.md b/docs/tr/AGENTS.md index 53e74b8f1..5d833d184 100644 --- a/docs/tr/AGENTS.md +++ b/docs/tr/AGENTS.md @@ -2,7 +2,7 @@ Bu, yazılım geliştirme için 68 özel agent, 293 skill, 94 command ve otomatik hook iş akışları sağlayan **üretime hazır bir AI kodlama eklentisidir**. -**Sürüm:** 2.2.2 +**Sürüm:** 2.2.3 ## Temel İlkeler diff --git a/docs/tr/README.md b/docs/tr/README.md index 00046afc6..c03a71d42 100644 --- a/docs/tr/README.md +++ b/docs/tr/README.md @@ -79,6 +79,10 @@ Bu repository yalnızca ham kodu içerir. Rehberler her şeyi açıklıyor. ## Yenilikler +### v2.2.3 — pi/core Profili ve Sürüm Güvenilirliği (Eki 2026) + +`pi/core` profili projeyi yalnızca ECC olarak adlandırır; sürüm iş akışı yayımlanan paketi doğrulamadan önce npm için beş dakikaya kadar bekler. + ### v2.2.2 — Rehberli Çoklu Harness Kurulumu (Ağu 2026) Claude Code, Codex ve Kimi Code için incelenebilir çoklu harness kurulumu ve eşitlenmiş npm komut girişi eklendi. diff --git a/docs/zh-CN/AGENTS.md b/docs/zh-CN/AGENTS.md index 555599e2e..316ffa16b 100644 --- a/docs/zh-CN/AGENTS.md +++ b/docs/zh-CN/AGENTS.md @@ -2,7 +2,7 @@ 这是一个**生产就绪的 AI 编码插件**,提供 68 个专业代理、293 项技能、94 条命令以及自动化钩子工作流,用于软件开发。 -**版本:** 2.2.2 +**版本:** 2.2.3 ## 核心原则 diff --git a/docs/zh-CN/README.md b/docs/zh-CN/README.md index 2ce4ef8e5..916a9cdb1 100644 --- a/docs/zh-CN/README.md +++ b/docs/zh-CN/README.md @@ -81,6 +81,10 @@ ## 最新动态 +### v2.2.3 — pi/core 配置与发布可靠性(2026年10月) + +`pi/core` 配置现在仅以 ECC 称呼本项目,发布工作流在校验已发布的包之前会等待 npm 最多五分钟。 + ### v2.2.2 — 引导式多 Harness 安装(2026年8月) 新增可审查的 Claude Code、Codex 与 Kimi Code 多 Harness 安装流程,并提供同步的 npm 命令入口。 @@ -1292,7 +1296,7 @@ ECC 是**第一个最大化利用每个主要 AI 编码工具的插件**。以 | **上下文文件** | CLAUDE.md + AGENTS.md | AGENTS.md | AGENTS.md | AGENTS.md | | **秘密检测** | 基于钩子 | beforeSubmitPrompt 钩子 | 基于沙箱 | 基于钩子 | | **自动格式化** | PostToolUse 钩子 | afterFileEdit 钩子 | N/A | file.edited 钩子 | -| **版本** | 插件 | 插件 | 参考配置 | 2.2.2 | +| **版本** | 插件 | 插件 | 参考配置 | 2.2.3 | **关键架构决策:** diff --git a/manifests/context-packs/skill-triggers@1.json b/manifests/context-packs/skill-triggers@1.json index 757fc0218..09cfc9c41 100644 --- a/manifests/context-packs/skill-triggers@1.json +++ b/manifests/context-packs/skill-triggers@1.json @@ -1 +1 @@ -{"coverage":{"skills":293,"withTriggers":32},"generatedAt":"2026-09-24T23:51:22.784Z","id":"skill-triggers@1","model":{"effort":null,"id":"hand-seeded","source":"manual-curation-pending-regeneration"},"registryDigest":"05b0793ddaad74a794b6f7fcb4f4704b0c1ddeba4edec8347859eebbc394c47e","schemaVersion":1,"triggers":{"skill:api-connector-builder":["add api integration","new provider connector","match existing integration pattern"],"skill:api-design":["rest endpoint design","pagination api","status codes","api versioning","rate limiting api","resource naming","filtering api","api error responses","offset pagination","limit query parameter","pagination defaults"],"skill:backend-patterns":["express api","node backend architecture","nextjs api routes","server side patterns","data access layer","static file server","url path handling","file server"],"skill:browser-qa":["deployed feature test","visual regression screenshots","core web vitals check","axe accessibility audit","ship do not ship","staging verification"],"skill:canary-watch":["post deploy monitoring","smoke test url","production url check","console errors production","sse stream check","after deploy verification"],"skill:code-tour":["onboarding walkthrough","explain subsystem","architecture tour","pr walkthrough","rca tour"],"skill:coding-standards":["code review standards","naming conventions","readability review","immutability conventions","fix naming typo","export naming","consistent exports"],"skill:content-hash-cache-pattern":["cache file processing","content addressed cache","sha256 hash cache"],"skill:database-migrations":["zero downtime migration","schema change production","add column large table","backfill data","expand contract","concurrent index","migration rollback","prisma migration","django migration"],"skill:deployment-patterns":["ci cd setup","dockerize app","health checks","rollback strategy","production readiness","deploy pipeline","containerize application"],"skill:design-system":["design tokens","visual consistency audit","css custom properties","ui audit","design system bootstrap"],"skill:django-patterns":["django orm","drf api","django rest framework","django caching","django signals","django middleware"],"skill:django-security":["django authentication","csrf protection","sql injection prevention","xss prevention","django deployment security","role based access control","authorization middleware","permissions checks"],"skill:docker-patterns":["dockerfile review","docker compose setup","container security","multi service orchestration"],"skill:error-handling":["error types","retry logic","circuit breaker","user facing errors","exception handling patterns","typed errors","error boundaries","go error handling","custom error class","error codes","config validation"],"skill:evm-token-decimals":["token decimals","wei conversion","erc20 balance off","bridge token precision"],"skill:frontend-a11y":["aria attributes","screen reader support","focus management","semantic html","form labeling","keyboard navigation react","a11y lint errors"],"skill:git-workflow":["merge vs rebase","commit conventions","resolve merge conflict","branching strategy","clean up commits","pull request cleanup","git history tidy"],"skill:hexagonal-architecture":["ports and adapters","dependency injection boundaries","decouple domain from io"],"skill:kubernetes-patterns":["kubernetes manifests","kubectl debugging","pod probes","k8s rbac","autoscaling config","configmap secrets"],"skill:orch-fix-defect":["fix a bug","broken behavior","regression fix","reproduce bug","defect repair"],"skill:postgres-patterns":["slow postgres query","query optimization","index design","rls policies","supabase schema","postgres indexing","database performance","schema design postgres","postgres driver","node postgres","query planner"],"skill:python-patterns":["pythonic code","pep 8","type hints python","python code review","idiomatic python"],"skill:python-testing":["pytest fixtures","mocking python","parametrized tests","coverage python","tdd python"],"skill:redis-patterns":["cache aside pattern","distributed lock","redis rate limiting","cache invalidation"],"skill:regex-vs-llm-structured-text":["parse invoice","extract receipt data","text extraction pipeline","parse form fields","cheap document parser","extract table data","parse log lines","parse access logs","common log format","log line parsing"],"skill:rust-patterns":["rust ownership","borrow checker","rust error handling","traits rust","rust concurrency","idiomatic rust"],"skill:search-first":["find existing library","npm package research","before writing custom code","evaluate existing tools","add dependency research"],"skill:security-review":["security audit","authentication review","sanitize user input","secrets handling","payment security checklist","prevent injection attacks","secure api endpoints","authn authz review","vulnerability checklist","input validation security","parameterized queries","sql injection"],"skill:security-scan":["audit claude config","claudemd security","mcp server audit","agentshield scan","hook configuration audit","settings json security"],"skill:tdd-workflow":["write test first","failing test","red green refactor","test driven development","regression test first","write a regression test"],"skill:verification-loop":["pre pr checks","verification report","quality gates","build lint test coverage","before creating a pr"]},"triggersDigest":"25b97a9e06fc336c7cf95ab854ed1a41033a54bcd6e1fb1cf69dc906332462aa"} +{"coverage":{"skills":293,"withTriggers":32},"generatedAt":"2026-09-24T23:51:22.784Z","id":"skill-triggers@1","model":{"effort":null,"id":"hand-seeded","source":"manual-curation-pending-regeneration"},"registryDigest":"344ffff25203f57185b223669d0e18724835876019f95482ab109acc03f54bb4","schemaVersion":1,"triggers":{"skill:api-connector-builder":["add api integration","new provider connector","match existing integration pattern"],"skill:api-design":["rest endpoint design","pagination api","status codes","api versioning","rate limiting api","resource naming","filtering api","api error responses","offset pagination","limit query parameter","pagination defaults"],"skill:backend-patterns":["express api","node backend architecture","nextjs api routes","server side patterns","data access layer","static file server","url path handling","file server"],"skill:browser-qa":["deployed feature test","visual regression screenshots","core web vitals check","axe accessibility audit","ship do not ship","staging verification"],"skill:canary-watch":["post deploy monitoring","smoke test url","production url check","console errors production","sse stream check","after deploy verification"],"skill:code-tour":["onboarding walkthrough","explain subsystem","architecture tour","pr walkthrough","rca tour"],"skill:coding-standards":["code review standards","naming conventions","readability review","immutability conventions","fix naming typo","export naming","consistent exports"],"skill:content-hash-cache-pattern":["cache file processing","content addressed cache","sha256 hash cache"],"skill:database-migrations":["zero downtime migration","schema change production","add column large table","backfill data","expand contract","concurrent index","migration rollback","prisma migration","django migration"],"skill:deployment-patterns":["ci cd setup","dockerize app","health checks","rollback strategy","production readiness","deploy pipeline","containerize application"],"skill:design-system":["design tokens","visual consistency audit","css custom properties","ui audit","design system bootstrap"],"skill:django-patterns":["django orm","drf api","django rest framework","django caching","django signals","django middleware"],"skill:django-security":["django authentication","csrf protection","sql injection prevention","xss prevention","django deployment security","role based access control","authorization middleware","permissions checks"],"skill:docker-patterns":["dockerfile review","docker compose setup","container security","multi service orchestration"],"skill:error-handling":["error types","retry logic","circuit breaker","user facing errors","exception handling patterns","typed errors","error boundaries","go error handling","custom error class","error codes","config validation"],"skill:evm-token-decimals":["token decimals","wei conversion","erc20 balance off","bridge token precision"],"skill:frontend-a11y":["aria attributes","screen reader support","focus management","semantic html","form labeling","keyboard navigation react","a11y lint errors"],"skill:git-workflow":["merge vs rebase","commit conventions","resolve merge conflict","branching strategy","clean up commits","pull request cleanup","git history tidy"],"skill:hexagonal-architecture":["ports and adapters","dependency injection boundaries","decouple domain from io"],"skill:kubernetes-patterns":["kubernetes manifests","kubectl debugging","pod probes","k8s rbac","autoscaling config","configmap secrets"],"skill:orch-fix-defect":["fix a bug","broken behavior","regression fix","reproduce bug","defect repair"],"skill:postgres-patterns":["slow postgres query","query optimization","index design","rls policies","supabase schema","postgres indexing","database performance","schema design postgres","postgres driver","node postgres","query planner"],"skill:python-patterns":["pythonic code","pep 8","type hints python","python code review","idiomatic python"],"skill:python-testing":["pytest fixtures","mocking python","parametrized tests","coverage python","tdd python"],"skill:redis-patterns":["cache aside pattern","distributed lock","redis rate limiting","cache invalidation"],"skill:regex-vs-llm-structured-text":["parse invoice","extract receipt data","text extraction pipeline","parse form fields","cheap document parser","extract table data","parse log lines","parse access logs","common log format","log line parsing"],"skill:rust-patterns":["rust ownership","borrow checker","rust error handling","traits rust","rust concurrency","idiomatic rust"],"skill:search-first":["find existing library","npm package research","before writing custom code","evaluate existing tools","add dependency research"],"skill:security-review":["security audit","authentication review","sanitize user input","secrets handling","payment security checklist","prevent injection attacks","secure api endpoints","authn authz review","vulnerability checklist","input validation security","parameterized queries","sql injection"],"skill:security-scan":["audit claude config","claudemd security","mcp server audit","agentshield scan","hook configuration audit","settings json security"],"skill:tdd-workflow":["write test first","failing test","red green refactor","test driven development","regression test first","write a regression test"],"skill:verification-loop":["pre pr checks","verification report","quality gates","build lint test coverage","before creating a pr"]},"triggersDigest":"25b97a9e06fc336c7cf95ab854ed1a41033a54bcd6e1fb1cf69dc906332462aa"} diff --git a/package-lock.json b/package-lock.json index fff2ca0d0..dfed63d2b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ecc-universal", - "version": "2.2.2", + "version": "2.2.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ecc-universal", - "version": "2.2.2", + "version": "2.2.3", "license": "MIT", "dependencies": { "@iarna/toml": "2.2.5", diff --git a/package.json b/package.json index 57357af0e..983370b3a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ecc-universal", - "version": "2.2.2", + "version": "2.2.3", "description": "Harness-native agent operating system for Codex, OpenCode, Cursor, Gemini, Claude Code, and terminal workflows - skills, hooks, rules, MCP conventions, and operator control-plane patterns", "main": ".opencode/dist/index.js", "types": ".opencode/dist/index.d.ts", diff --git a/pi/core/README.md b/pi/core/README.md index f3df41414..06cf9da6c 100644 --- a/pi/core/README.md +++ b/pi/core/README.md @@ -1,6 +1,6 @@ # ecc-pi-core -A curated, Pi-native profile of ECC (Everything Claude Code): 123 portable +A curated, Pi-native profile of ECC: 123 portable engineering skills and 24 pure prompt-workflow commands, with no extensions, no hooks, no runtime downloads, and no network or SaaS dependencies. diff --git a/pi/core/package.json b/pi/core/package.json index 7662a619c..990766444 100644 --- a/pi/core/package.json +++ b/pi/core/package.json @@ -1,6 +1,6 @@ { "name": "ecc-pi-core", - "version": "2.2.2", + "version": "2.2.3", "license": "MIT", "keywords": [ "pi-package", diff --git a/pi/core/skills/blueprint/SKILL.md b/pi/core/skills/blueprint/SKILL.md index a16265dee..4c27da2fa 100644 --- a/pi/core/skills/blueprint/SKILL.md +++ b/pi/core/skills/blueprint/SKILL.md @@ -64,7 +64,7 @@ Produces a plan with parallel steps where possible (e.g., "implement Anthropic p ## Installation -This skill ships with Everything Claude Code. No separate installation is needed when ECC is installed. +This skill ships with ECC. No separate installation is needed when ECC is installed. ### Full ECC install @@ -77,7 +77,7 @@ test -f skills/blueprint/SKILL.md To update later, review the ECC diff before updating: ```bash -cd /path/to/everything-claude-code +cd /path/to/ECC git fetch origin main git log --oneline HEAD..origin/main # review new commits before updating git checkout # pin to a specific reviewed commit diff --git a/plugins/ecc/.codex-plugin/plugin.json b/plugins/ecc/.codex-plugin/plugin.json index 07f376cd6..9ea47bdb1 100644 --- a/plugins/ecc/.codex-plugin/plugin.json +++ b/plugins/ecc/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "ecc", - "version": "2.2.2", + "version": "2.2.3", "description": "Harness-native ECC workflows for Codex: shared skills, production-ready MCP configs, and selective-install-aligned conventions for TDD, security scanning, code review, and autonomous development.", "author": { "name": "Affaan Mustafa", diff --git a/scripts/build-pi-core.js b/scripts/build-pi-core.js index 6dcbc920d..c21f2a8f0 100755 --- a/scripts/build-pi-core.js +++ b/scripts/build-pi-core.js @@ -172,7 +172,7 @@ const descChars = skillDescriptions.reduce((n, d) => n + d.length, 0); fs.writeFileSync(path.join(tmpDir, 'README.md'), `# ecc-pi-core -A curated, Pi-native profile of ECC (Everything Claude Code): ${skillCount} portable +A curated, Pi-native profile of ECC: ${skillCount} portable engineering skills and ${commandCount} pure prompt-workflow commands, with no extensions, no hooks, no runtime downloads, and no network or SaaS dependencies. diff --git a/skills/blueprint/SKILL.md b/skills/blueprint/SKILL.md index a16265dee..4c27da2fa 100644 --- a/skills/blueprint/SKILL.md +++ b/skills/blueprint/SKILL.md @@ -64,7 +64,7 @@ Produces a plan with parallel steps where possible (e.g., "implement Anthropic p ## Installation -This skill ships with Everything Claude Code. No separate installation is needed when ECC is installed. +This skill ships with ECC. No separate installation is needed when ECC is installed. ### Full ECC install @@ -77,7 +77,7 @@ test -f skills/blueprint/SKILL.md To update later, review the ECC diff before updating: ```bash -cd /path/to/everything-claude-code +cd /path/to/ECC git fetch origin main git log --oneline HEAD..origin/main # review new commits before updating git checkout # pin to a specific reviewed commit