Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"name": "tsumiki",
"owner": {
"name": "makoto kuroeda",
"email": "[email protected]",
"url": "https://github.com/classmethod"
},
"metadata": {
"description": "AI-driven development toolkit for TDD and SDD workflows, providing comprehensive command templates and agents to enhance developer productivity with Claude Code",
"version": "0.0.6"
},
"plugins": [
{
"name": "tsumiki",
"source": "./",
"description": "AI-driven development toolkit for TDD and SDD workflows, providing comprehensive command templates and agents to enhance developer productivity with Claude Code",
"version": "0.0.6",
"author": {
"name": "makoto kuroeda",
"email": "[email protected]"
},
"homepage": "https://github.com/classmethod/tsumiki",
"repository": "https://github.com/classmethod/tsumiki",
"license": "MIT",
"keywords": ["ai-development", "sdd", "tdd"]
}
]
}
15 changes: 15 additions & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "tsumiki",
"version": "0.0.6",
"description": "AI-driven development toolkit for TDD and SDD workflows, providing comprehensive command templates and agents to enhance developer productivity with Claude Code",
"author": {
"name": "makoto kuroeda",
"email": "[email protected]"
},
"homepage": "https://github.com/classmethod/tsumiki",
"repository": "https://github.com/classmethod/tsumiki",
"license": "MIT",
"keywords": ["ai-development", "sdd", "tdd"],
"commands": "./commands/",
"agents": ["./agents/symbol-searcher.md"]
}
9 changes: 0 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,5 @@ jobs:
exit 1
fi

- name: Run check
run: pnpm check

- name: Run secretlint
run: pnpm secretlint

- name: Run typecheck
run: pnpm typecheck

- name: Build project
run: pnpm build
5 changes: 1 addition & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,7 @@ jobs:
run: pnpm install

- name: Run quality checks
run: |
pnpm check
pnpm secretlint
pnpm typecheck
run: pnpm secretlint

- name: Publish to npm
run: pnpm publish
Expand Down
52 changes: 22 additions & 30 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,20 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

## 概要

TsumikiはAI駆動開発フレームワークのコマンドテンプレートを提供するCLIツールです。このプロジェクトはTypeScript + ReactをInkで構成されたCLIアプリケーションで、Claude Code用のコマンドテンプレートをユーザーの`.claude/commands/`ディレクトリにインストールします。
TsumikiはAI駆動開発フレームワークです。Claude Code Plugin経由でインストールされ、要件定義から実装までのAI支援開発プロセスを提供します。

このリポジトリには以下が含まれています:
- **`commands/`**: Claude Codeスラッシュコマンド用のテンプレートファイル(`.md`と`.sh`)
- **`agents/`**: Claude Codeエージェント用の定義ファイル(`.md`)
- **`.claude-plugin/`**: Claude Code Plugin設定ファイル

## 開発コマンド

```bash
# 開発環境
pnpm install # 依存関係のインストール

# ビルド
pnpm build # プロジェクトをビルドし、commandsディレクトリをdist/にコピー
pnpm build:run # ビルド後、CLI実行(テスト用)

# コード品質
pnpm check # Biomeでコードチェック
pnpm fix # Biomeで自動修正
pnpm typecheck # TypeScriptの型チェック(tsgoを使用)
pnpm secretlint # シークレット情報の検査

# pre-commitフック
Expand All @@ -28,40 +26,34 @@ pnpm prepare # simple-git-hooksのセットアップ

## プロジェクト構造

- **`src/cli.ts`**: CLIエントリーポイント、commanderを使用してコマンド定義
- **`src/commands/install.tsx`**: React + Inkを使用したインストールコマンドのUI実装
- **`commands/`**: TsumikiのAI開発フレームワーク用Claude Codeコマンドテンプレート(`.md`と`.sh`ファイル)
- **`dist/`**: ビルド出力、`dist/commands/`にテンプレートがコピーされる
- **`agents/`**: Claude Codeエージェント定義(`.md`ファイル)
- **`.claude-plugin/`**: Claude Code Plugin設定(marketplace.json, plugin.json)
- **`book/`**: 開発ガイドとドキュメント

## 技術スタック

- **CLI Framework**: Commander.js
- **UI Framework**: React + Ink(CLIでのReactレンダリング)
- **Build Tool**: tsup(TypeScript + ESBuildベース)
- **Code Quality**: Biome(リンタ・フォーマッタ)
- **TypeScript**: tsgo(高速型チェック)
- **Security**: secretlint(機密情報検査)
- **Package Manager**: pnpm
- **Distribution**: Claude Code Plugin Marketplace

## ビルドプロセス
## インストール方法

ビルド時(`pnpm build`)は以下の処理が実行されます:
1. `dist`ディレクトリをクリーンアップ
2. `dist/commands`ディレクトリを作成
3. `commands/`内の`.md`と`.sh`ファイルを`dist/commands/`にコピー
4. tsupでTypeScriptコードをESMとCJSの両形式でビルド
ユーザーは以下のコマンドでTsumikiをインストールします:

## インストール動作
```bash
/plugin marketplace add https://github.com/classmethod/tsumiki.git
/plugin install tsumiki@tsumiki
```

`tsumiki install`コマンドは以下を実行します
1. 現在のディレクトリに`.claude/commands/`ディレクトリを作成
2. ビルド済みの`dist/commands/`から全ての`.md`と`.sh`ファイルをコピー
3. React + Inkでプログレス表示とファイル一覧を表示
Claude Code Pluginが自動的に
1. リポジトリから`commands/`と`agents/`のファイルを読み込み
2. `.claude-plugin/plugin.json`の設定に従ってコマンドとエージェントを登録
3. `/tsumiki:` プレフィックス付きでコマンドを使用可能にする

## 品質管理

Pre-commitフックで以下が自動実行されます:
- `pnpm secretlint`: 機密情報のチェック
- `pnpm typecheck`: 型チェック
- `pnpm fix`: コードの自動修正

コード修正時は必ず`pnpm check`と`pnpm typecheck`を実行してからコミットしてください
コマンドファイル(`.md`)やエージェント定義(`.md`)を修正する際は、機密情報が含まれていないことを確認してからコミットしてください
35 changes: 6 additions & 29 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,26 +52,11 @@ git checkout -b feature/your-feature-name
3. コード品質チェックを実行します:

```bash
# 型チェック
pnpm typecheck

# コードチェック
pnpm check

# 自動修正
pnpm fix

# 機密情報チェック
pnpm secretlint
```

4. ビルドテストを実行します:

```bash
pnpm build:run
```

5. 変更をコミットします:
4. 変更をコミットします:

```bash
git add .
Expand Down Expand Up @@ -104,31 +89,24 @@ docs: update README with new command examples
Pre-commitフックで以下が自動実行されます:

- **secretlint**: 機密情報(APIキー、パスワードなど)の混入チェック
- **typecheck**: TypeScriptの型チェック
- **fix**: Biomeによるコードの自動修正

### 手動チェック

変更前に以下のコマンドを実行してください:

```bash
# 全てのチェックを実行
pnpm typecheck && pnpm check && pnpm secretlint

# コードの自動修正
pnpm fix
# 機密情報チェック
pnpm secretlint
```

## プロジェクト構造

```
tsumiki/
├── src/
│ ├── cli.ts # CLIエントリーポイント
│ └── commands/
│ └── install.tsx # インストールコマンドのUI実装
├── .claude-plugin/ # Claude Code Plugin設定
├── commands/ # コマンドテンプレート(.md, .sh)
├── dist/ # ビルド出力
├── agents/ # エージェント定義(.md)
├── book/ # ドキュメント
├── package.json
├── CLAUDE.md # プロジェクト指示書
└── README.md
Expand All @@ -153,7 +131,6 @@ git push origin feature/your-feature-name
- [ ] 変更内容が明確に説明されている
- [ ] 関連するIssueがリンクされている(該当する場合)
- [ ] コード品質チェックが通っている
- [ ] ビルドが成功している
- [ ] 機密情報が含まれていない

## Issue報告
Expand Down
Loading