npm run dev- GitHub Actions の外部
uses:はタグではなく コミット SHA(40 桁) で固定する。 - CI の依存取得は
.github/actions/setup-node-npmに集約し、その中で Takumi Guard(匿名モード) を有効化したあとnpm ciを実行する。 - Dependabot は
.github/dependabot.ymlでnpmとgithub-actionsの両方にcooldown: 3 daysを設定している。 - 開発環境とCIのNode / npmは
package.jsonのvoltaに固定する。Voltaを使用する開発環境ではプロジェクトに入ると同じ版が選ばれ、CIはnode-version-file: package.jsonとnpmの明示インストールで同じ版を使用する。 engines.nodeと@types/nodeは採用したNode LTSのメジャーに揃える。LTSの更新時はvolta.node・volta.npm・enginesを一緒に更新し、チェック・テスト・ビルドを確認する。
uses: owner/repo@<40桁SHA>のみで指定する。
- TypeScriptは
ts-jestが対応するCompiler APIの範囲に留める。DependabotのTypeScript 7以降の除外は、対応確認後に解除する。 - Jestは
srcのテストだけを収集する。リポジトリ内の別作業用チェックアウトを重複実行しない。 - MarkuplintのJSX設定では、Reactの
onXxxコールバックをHTMLの文字列イベント属性と区別する。HTMLファイルにはこの例外を適用しない。 npm auditは実行時依存と開発用依存を分けて確認する。Markuplint 5のAstroパーサー経由のbracesには、2026-10-04時点で未修正のDoS問題がある。このプロジェクトではAstroパーサーを使用せず、チェック対象のglobも固定している。上流の修正後にロックファイルを更新して再監査する。
共有コンポーネント
以下のページの目次となるページ
クロマティックボタンアコーディオンを演奏できるウェブアプリ
データモッシング PoC
WIP データモッシング React App
線形合同法乱数予測ツール
WIP Tears of Overflowed Bits (by eau. / La Mer ArtWorks)の再現
完全クライアントサイドでPDFを圧縮するWebアプリケーション(Ghostscript WASM使用)
日本の控除証明書データのXMLファイルを閲覧する読み取り専用のウェブアプリケーション
WebCodecs の映像・音声エンコード設定が実際に使えるかを、実エンコード・デコード・多重化まで通して検査するツール
タスクの計画と進捗状況を追跡するためのスクラッチパッド
プロジェクト内で学んだ教訓や再利用可能な知識は Serena のメモリとして管理します。
FSL v3.1.0 の公式Agent Skill bundleは、skills/を無改変の正本として配置しています。Cursorは.cursor/skills/、Codexは.agents/skills/の薄い発見用アダプターから同じ正本を参照します。
形式仕様を作成・検証するときは、目的に合うFSL SkillをCodexでは $fsl、Cursorでは /fsl などで明示的に呼び出せます。
検証CLIは別途インストールした fslc を使用します。
fslc --version
fslc check path/to/spec.fsl
fslc verify path/to/spec.fsl --depth 8.cursor/rulesディレクトリには以下のルールファイルがあります。ここではすべてのプロジェクトに関するもののみを記載しています。
- global.mdc: リポジトリ全体に適用されるルール(Scratchpadの使用方法など)
- repository.mdc: リポジトリ構造とプロジェクト概要
- coding-rules.mdc: コーディングルールとディレクトリ構造
- biome.mdc: Biomeによるlint、format、import整理に関するルール
- verification.mdc: 変更内容に応じた検証と完了条件