AI + Deno コード生成の実験場 このプロジェクトは、AI(特にコーディングエージェント)と Deno を組み合わせたコード生成の実験場です。Deno プロジェクトにおけるコーディングルールとモードを定義するための設定ファイルを管理し、AI によるコード生成の品質と効率を…
AI + Deno コード生成の実験場 このプロジェクトは、AI(特にコーディングエージェント)と Deno を組み合わせたコード生成の実験場です。Deno プロジェクトにおけるコーディングルールとモードを定義するための設定ファイルを管理し、AI によるコード生成の品質と効率を…
このプロジェクトは、AI(特にコーディングエージェント)と Deno を組み合わせたコード生成の実験場です。Deno プロジェクトにおけるコーディングルールとモードを定義するための設定ファイルを管理し、AI によるコード生成の品質と効率を向上させることを目的としています。
.clinerules と .roomodes が主ない生成物です。
コーディングルール定義
実装モード
ユーティリティモジュール
@std/expect、@std/testing/bdddeno.json での定義JSONデータから型を予測し、zodスキーマを生成するモジュール。
特徴:
使用例:
import { TypePredictor } from "./mod.ts";
// インスタンスを作成
const predictor = new TypePredictor();
// JSONデータから型を予測してスキーマを生成
const data = {
name: "John",
age: 30,
scores: [85, 92, 78],
};
// スキーマを生成
const schema = predictor.predict(data);
// スキーマを使用してバリデーション
const result = schema.safeParse(data);Zod を使用した型安全なコマンドラインパーサーモジュールです。
特徴:
使用例:
import { createCliCommand, runCommand } from "@mizchi/zodcli";
import { z } from "npm:zod";
const cli = createCliCommand({
name: "myapp",
description: "My CLI application",
args: {
file: {
type: z.string().describe("input file"),
positional: true,
},
verbose: {
type: z.boolean().default(false),
short: "v",
},
},
});
const result = cli.parse(Deno.args);
runCommand(result, (data) => {
console.log(`Processing ${data.file}, verbose: ${data.verbose}`);
});TypeScriptでのAdapterパターンは、外部依存を抽象化し、テスト可能なコードを実現するためのパターンです。
実装パターン:
ベストプラクティス:
| コンポーネント | ステータス | 進捗率 | 優先度 |
|---|---|---|---|
| ルールとモード定義 | 安定 | 90% | 低 |
| type-predictor | 開発中 | 60% | 高 |
| zodcli | 安定 | 100% | 中 |
| アダプターパターン例 | 安定 | 80% | 中 |
| テストインフラ | 安定 | 70% | 中 |
| CI/CD パイプライン | 開発中 | 50% | 中 |
| メモリバンク | 初期段階 | 30% | 高 |
| ドキュメント | 初期段階 | 40% | 高 |
type-predictor の基本機能完成(現在)
type-predictor の拡張機能(次のフェーズ)
実装例の充実(将来)
TypeScriptコードのコールグラフを生成するツールです。
使用例:
deno run -A ts-callgraph/cli.ts scripts/callgraph-sample.ts --format function-summaryこのリポジトリの .cline ディレクトリは、Deno
プロジェクトにおけるコーディングルールとモードを定義するための設定ファイルを管理しています。
.cline/
├── build.ts - プロンプトファイルを結合して .clinerules と .roomodes を生成するスクリプト
├── rules/ - コーディングルールを定義するマークダウンファイル
│ ├── 01_basic.md - 基本的なルールと AI Coding with Deno の概要
│ ├── deno_rules.md - Deno に関するルール(テスト、モジュール依存関係など)
│ ├── git_workflow.md - Git ワークフローに関するルール
│ └── ts_bestpractice.md - TypeScript のコーディングベストプラクティス
└── roomodes/ - 実装モードを定義するマークダウンファイル
├── deno-script.md - スクリプトモードの定義
├── deno-module.md - モジュールモードの定義
└── deno-tdd.md - テストファーストモードの定義.cline/build.ts スクリプトを実行すると、以下のファイルが生成されます:
.clinerules - rules
ディレクトリ内のマークダウンファイルを結合したファイル.roomodes - roomodes ディレクトリ内のマークダウンファイルから生成された
JSON ファイル.cline/rules
ディレクトリにコーディングルールを定義するマークダウンファイルを追加または編集します。.cline/roomodes
ディレクトリに実装モードを定義するマークダウンファイルを追加または編集します。.cline/build.ts スクリプトを実行して、.clinerules と .roomodes
ファイルを生成します。deno run --allow-read --allow-write .cline/build.ts.clinerules と .roomodes ファイルは、AI
コーディングアシスタント(CLINE/Roo
など)によって読み込まれ、プロジェクトのルールとモードが適用されます。プロジェクトで定義されているモードは以下の通りです:
deno-script (Deno:ScriptMode) - スクリプトモードdeno-module (Deno:Module) - モジュールモードdeno-tdd (Deno:TestFirstMode) - テストファーストモードモードを切り替えるには、AI コーディングアシスタントに対して以下のように指示します:
モードを deno-script に切り替えてください。または、ファイルの冒頭に特定のマーカーを含めることでモードを指定することもできます:
@script@tdd例:
// @script @tdd
// このファイルはスクリプトモードとテストファーストモードの両方で実装されますDeno のインストール
# Unix (macOS, Linux)
curl -fsSL https://deno.land/x/install/install.sh | sh
# Windows (PowerShell)
iwr https://deno.land/x/install/install.ps1 -useb | iexエディタ設定
{
"deno.enable": true,
"deno.lint": true,
"deno.unstable": false,
"editor.formatOnSave": true,
"editor.defaultFormatter": "denoland.vscode-deno"
}プロジェクトのセットアップ
# リポジトリのクローン
git clone
cd
# 依存関係のキャッシュ
deno cache --reload deps.ts
# ルールとモードの生成
deno run --allow-read --allow-write .cline/build.ts新しいスクリプトの作成
# スクリプトモードでの開発
touch scripts/new-script.ts
# ファイル冒頭に `@script` を追加テストの実行
# 単一ファイルのテスト
deno test scripts/new-script.ts
# すべてのテストの実行
deno test
# カバレッジの計測
deno test --coverage=coverage && deno coverage coverageリントとフォーマット
# リント
deno lint
# フォーマット
deno fmt依存関係の検証
deno task check:depsMIT
No open issues yet, or sync has not completed.