mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-26 17:32:23 +02:00
* fix: make the installer runtime pass strict supply-chain vetting
Remediate the four enterprise supply-chain vetting blockers from
affaan-m/ECC#2502 so the installer runtime (package.json + manifests +
scripts/lib/**) passes strict exact-pin evidence policy:
1. Remove the package.json `postinstall` lifecycle script (it only echoed a
post-install banner) and move that banner to an explicit opt-in
`npm run welcome` command. No install-time lifecycle script remains.
2. Exact-pin every dependency in package.json (dependencies + devDependencies)
to the versions already resolved in package-lock.json; no ^/~ ranges.
3. Replace non-ASCII characters on the installer runtime script/config surface:
em-dashes (U+2014) in scripts/lib/{path-safety,install-executor,
install/link-rewrite}.js comments and the two "Itô" (U+00F4) occurrences in
manifests/{install-components,install-modules}.json descriptions become
ASCII, so strict-surface Unicode scanners are clean.
4. Drop the bare `require("ajv")` from scripts/lib/install-state.js; the file
already carries a complete hand-rolled validator enforcing the same
schemas/install-state.schema.json (ecc.install.v1) constraints, so the
installer closure is dependency-free (zero non-builtin bare requires).
Refs affaan-m/ECC#2502
* fix: avoid unpinned welcome invocations
Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>
* fix: validate translated skill frontmatter
Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>
* fix: repair skill frontmatter YAML
Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>
* fix: add MIT license to core skill manifests; pin verification-loop tsc invocation
* fix: preserve tsc/pyright exit status in verification-loop type-check (set -o pipefail)
* chore(deps): sync lockfiles with exact-pinned package.json
Regenerate package-lock.json and yarn.lock so the pinned dependency
specs are reflected in both lockfiles. npm ci and Yarn's --immutable
install now pass the sync check. The resolution tree is unchanged
(231 yarn resolutions, byte-identical set; zero npm transitive drift);
only the root descriptor strings move from ranges to the versions
already resolved in the committed lockfiles.
Addresses the Codex P1 on #2503.
---------
Signed-off-by: Samar Tomar <samar_tomar@hotmail.com>
Co-authored-by: Samarjeet Singh Tomar <samartomar@gmail.com>
2.9 KiB
2.9 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| verification-loop | A comprehensive verification system for Claude Code sessions. |
|
検証ループスキル
Claude Codeセッション向けの包括的な検証システム。
使用タイミング
このスキルを呼び出す:
- 機能または重要なコード変更を完了した後
- PRを作成する前
- 品質ゲートが通過することを確認したい場合
- リファクタリング後
検証フェーズ
フェーズ1: ビルド検証
# プロジェクトがビルドできるか確認
npm run build 2>&1 | tail -20
# または
pnpm build 2>&1 | tail -20
ビルドが失敗した場合、停止して続行前に修正。
フェーズ2: 型チェック
# TypeScriptプロジェクト
npx tsc --noEmit 2>&1 | head -30
# Pythonプロジェクト
pyright . 2>&1 | head -30
すべての型エラーを報告。続行前に重要なものを修正。
フェーズ3: Lintチェック
# JavaScript/TypeScript
npm run lint 2>&1 | head -30
# Python
ruff check . 2>&1 | head -30
フェーズ4: テストスイート
# カバレッジ付きでテストを実行
npm run test -- --coverage 2>&1 | tail -50
# カバレッジ閾値を確認
# 目標: 最低80%
報告:
- 合計テスト数: X
- 成功: X
- 失敗: X
- カバレッジ: X%
フェーズ5: セキュリティスキャン
# シークレットを確認
grep -rn "sk-" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
grep -rn "api_key" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
# console.logを確認
grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10
フェーズ6: 差分レビュー
# 変更内容を表示
git diff --stat
git diff HEAD~1 --name-only
各変更ファイルをレビュー:
- 意図しない変更
- 不足しているエラー処理
- 潜在的なエッジケース
出力フォーマット
すべてのフェーズを実行後、検証レポートを作成:
検証レポート
==================
ビルド: [成功/失敗]
型: [成功/失敗] (Xエラー)
Lint: [成功/失敗] (X警告)
テスト: [成功/失敗] (X/Y成功、Z%カバレッジ)
セキュリティ: [成功/失敗] (X問題)
差分: [Xファイル変更]
総合: PRの準備[完了/未完了]
修正すべき問題:
1. ...
2. ...
継続モード
長いセッションの場合、15分ごとまたは主要な変更後に検証を実行:
メンタルチェックポイントを設定:
- 各関数を完了した後
- コンポーネントを完了した後
- 次のタスクに移る前
実行: /verify
フックとの統合
このスキルはPostToolUseフックを補完しますが、より深い検証を提供します。 フックは問題を即座に捕捉; このスキルは包括的なレビューを提供。