Files
ECC/docs/ja-JP/skills/springboot-verification/SKILL.md
T
754b8dd76c fix: make the installer runtime pass strict supply-chain vetting (#2503)
* 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>
2026-07-17 17:13:49 -04:00

101 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: springboot-verification
description: "Verification loop for Spring Boot projects: build, static analysis, tests with coverage, security scans, and diff review before release or PR."
---
# Spring Boot 検証ループ
PR前、大きな変更後、デプロイ前に実行します。
## フェーズ1: ビルド
```bash
mvn -T 4 clean verify -DskipTests
# または
./gradlew clean assemble -x test
```
ビルドが失敗した場合は、停止して修正します。
## フェーズ2: 静的解析
Maven(一般的なプラグイン):
```bash
mvn -T 4 spotbugs:check pmd:check checkstyle:check
```
Gradle(設定されている場合):
```bash
./gradlew checkstyleMain pmdMain spotbugsMain
```
## フェーズ3: テスト + カバレッジ
```bash
mvn -T 4 test
mvn jacoco:report # 80%以上のカバレッジを確認
# または
./gradlew test jacocoTestReport
```
レポート:
- 総テスト数、合格/失敗
- カバレッジ%(行/分岐)
## フェーズ4: セキュリティスキャン
```bash
# 依存関係のCVE
mvn org.owasp:dependency-check-maven:check
# または
./gradlew dependencyCheckAnalyze
# シークレット(git
git secrets --scan # 設定されている場合
```
## フェーズ5: Lint/Format(オプションゲート)
```bash
mvn spotless:apply # Spotlessプラグインを使用している場合
./gradlew spotlessApply
```
## フェーズ6: 差分レビュー
```bash
git diff --stat
git diff
```
チェックリスト:
- デバッグログが残っていない(`System.out`、ガードなしの `log.debug`
- 意味のあるエラーとHTTPステータス
- 必要な場所にトランザクションと検証がある
- 設定変更が文書化されている
## 出力テンプレート
```
検証レポート
===================
ビルド: [合格/不合格]
静的解析: [合格/不合格] (spotbugs/pmd/checkstyle)
テスト: [合格/不合格] (X/Y 合格, Z% カバレッジ)
セキュリティ: [合格/不合格] (CVE発見: N)
差分: [X ファイル変更]
全体: [準備完了 / 未完了]
修正が必要な問題:
1. ...
2. ...
```
## 継続モード
- 大きな変更があった場合、または長いセッションで30〜60分ごとにフェーズを再実行
- 短いループを維持: `mvn -T 4 test` + spotbugs で迅速なフィードバック
**注意**: 迅速なフィードバックは遅い驚きに勝ります。ゲートを厳格に保ち、本番システムでは警告を欠陥として扱います。