PR の CI 失敗を修正し、全 CI がパスするまでプッシュ→待機→修正を繰り返す。「/ci-fix-and-verify [PR番号]」「CI直して」「CIが落ちてる」「CI修正」などの依頼時に使用。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Upgrade the Svelte submodule to the latest (or specified) version, regenerate fixtures, identify test failures, and fix all regressions until tests pass 100%.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Upgrade submodules/svelte, regenerate fixtures, and fix every regression until the
compatibility report is 100%.
Phase 1: Upgrade → checkout tag, build compiler, regenerate fixtures (script)
Phase 2: Assess → read the compatibility report, group failures by cause
Phase 3: Fix → one category at a time, one commit per fix
Phase 4: Validate → full report, cargo test --release, docs, commit
Use $ARGUMENTS if given (e.g. 5.52.0). Otherwise take the latest stable svelte@* tag
(skip next / rc); confirm with the user if ambiguous.
cd submodules/svelte && git fetch --tags && git tag -l 'svelte@*' --sort=-version:refname | head -5
./scripts/dev/upgrade-svelte.sh <VERSION>
It performs, in order: submodule checkout → writes crates/rsvelte_core/svelte-version.txt →
pnpm install && pnpm build in submodules/svelte/packages/svelte (compiler/index.js is
gitignored, so this step is mandatory) → generate-fixtures --force → compatibility-report
→ update-docs → bumps apps/playground/src/lib/preview.ts and
apps/playground/rsvelte-shim/compiler.mjs.
| Step fails | Try |
|---|---|
| pnpm install | pnpm install --no-frozen-lockfile |
| pnpm build | Node >= 22? new build deps? |
| generate-fixtures | Svelte's compile/test API changed — read the error |
cd submodules/svelte
git log --oneline svelte@<OLD>..svelte@<NEW> -- packages/svelte/src/compiler/
git diff --stat svelte@<OLD>..svelte@<NEW> -- packages/svelte/src/compiler/
Also packages/svelte/CHANGELOG.md. Look for: new syntax, changed codegen output,
new/removed/renamed compiler options, CSS scoping changes, new warning/error codes.
COMMIT=$(git -C submodules/svelte rev-parse --short=12 HEAD)
node -e "
const r = require('./fixtures/${COMMIT}/compatibility-report.json');
const s = r.summary;
console.log('Overall: ' + s.total_passed + '/' + (s.total_tests - s.total_skipped) + ' (' + s.overall_percentage.toFixed(1) + '%)');
for (const [cat, d] of Object.entries(r.categories)) {
const st = d.stats;
if (st.failed || st.errors) console.log(cat + ': ' + st.passed + '/' + st.total + ' failed=' + st.failed + ' errors=' + st.errors);
}"
| Pattern | Fix in |
|---|---|
| New AST node type | parser + crates/rsvelte_core/src/ast/template.rs |
| Changed codegen output | transform phase |
| New compiler option | CompileOptions + plumbing |
| New warning/error code | validator + crates/rsvelte_core/src/error/ |
| CSS output changed | 3_transform/css.rs |
| Renamed internal API | mirror the rename |
Fix order: parser → compiler errors → validator warnings → CSS → SSR → snapshot (client) → runtime (depends on everything above).
Mirror layout: submodules/svelte/packages/svelte/src/compiler/phases/{1-parse,2-analyze,3-transform}/
→ crates/rsvelte_core/src/compiler/phases/{1_parse,2_analyze,3_transform}/;
errors.js / warnings.js → crates/rsvelte_core/src/error/.
For each failure:
fixtures/${COMMIT}/<category>/<sample>/…) against rsvelte's output.ast/template.rs → 1_parse → 2_analyze
→ 3_transform/client → 3_transform/server → 3_transform/css.rs if CSS-related.rg "<unique output string>" submodules/svelte/packages/svelte/src/compiler/,
then the same string under crates/rsvelte_core/src/compiler/.cargo test --release <test_name> -- --nocapturecargo fmt && cargo clippy --all-targets --all-features -- -D warnings && git add -u && git commit -m "fix: <what>"Use subagents for parallel investigation when several categories fail.
pnpm run compatibility-report # must be 0 failures, 0 errors in every category
cargo test --release # runtime/ssr suites; audit_skipped re-checks the skip lists
pnpm run update-docs # README.md + apps/playground/static/test-results.json
./scripts/bench/bench.sh --quick # only if codegen hot paths changed
Also update AGENTS.md (Test Status table and the Svelte **vX.Y.Z** line) if numbers moved.
The former USE_RSVELTE=true npx vitest step is gone: nothing in submodules/svelte reads
that variable; runtime parity is the Runtime * rows of the report.
git add -A
git commit -m "chore: upgrade Svelte to <VERSION>
- Updated submodule to svelte@<VERSION>
- Regenerated all test fixtures
- Fixed N regressions: <brief list>
- Compatibility report 100%"
git push
cd submodules/svelte && git describe --tags --abbrev=0 # current version
./scripts/dev/upgrade-svelte.sh <VERSION> # automated Phase 1
pnpm run compatibility-report # report → fixtures/<commit>/compatibility-report.json
cargo test --release <test_name> -- --nocapture # single test
pnpm run update-docs # docs
cargo fmt && cargo clippy --all-targets --all-features -- -D warnings
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
PR の CI 失敗を修正し、全 CI がパスするまでプッシュ→待機→修正を繰り返す。「/ci-fix-and-verify [PR番号]」「CI直して」「CIが落ちてる」「CI修正」などの依頼時に使用。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
PR 提出前にコードオーナー視点でフルレビューする。WHY の理解 → 設計 → AST/基盤型 → 実装(複数 Agent の順次レビュー)の順に、各フェーズでユーザーと対話しながら指摘を修正し、品質に問題がなくなるまで繰り返す。「/full-code-review」「フルレビュー」「レビューして」などの依頼時に使用。rsvelte(公式 Svelte コンパイラの Rust ポート)専用。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Rust の性能改善を「計測 → 仮説 → 変更 → 再計測」のループで地道に回すためのスキル。プロファイラの選び方、Cargo の最適化設定、データ構造・アロケーション・ハッシュ・分岐などの定石をフェーズ順に適用する。1 回 1 変更 1 計測の規律を厳守する。rsvelte 固有の既知ボトルネック(`serde_json::Value` 駆逐、`bumpalo` 導入、`Atom<'a>`、codegen 直書き)と OXC 対応表、NAPI 検証手順も §7 に収録。「Rust の性能改善」「ボトルネック調査」「プロファイル取って最適化」などの依頼で使用。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Audit and clean up the repository — remove dead files, fix naming inconsistencies, update .gitignore, and ensure the repo is well-organized for OSS contributors. Does NOT modify source code logic.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
GitHub PR のコードレビューコメントに対応する。未 resolve のみを抽出 → 対応方針をユーザー承認 → 1 件ずつ修正+返信 → AI レビュー由来の指摘はナレッジに反映するワークフロー。「/review-response [PR番号]」「レビュー対応」「レビューに返信」などの依頼時に使用。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Svelte を使う外部リポジトリ(ツール / ライブラリ / アプリ)を git submodule として取り込み、Svelte コンパイラを rsvelte に差し替えても完全に同等に動作するかを検証する。既存のサブモジュールが指定された場合は最新化したうえで再検証し、回帰があれば rsvelte 側を自動修正する。「/verify-svelte-compat <url-or-name>」で実行。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.