@gonzui/claude-task-manager
Version:
Task management extension for Claude Code with archiving and history
420 lines (301 loc) • 12.7 kB
Markdown
# Claude Task Manager
[](https://badge.fury.io/js/@gonzui%2Fclaude-task-manager)
[](https://opensource.org/licenses/MIT)
English version: After installation, see `node_modules/@gonzui/claude-task-manager/README.md`
Claude Code 用のタスク管理拡張パッケージ(TypeScript 製)。タスクの作成、実行、履歴管理を自動化します。
## 特徴
- 📋 **タスク管理**: `task.md`ファイルでタスクを管理
- 🗄️ **自動アーカイブ**: 古いタスクは自動的に`archive/`フォルダに保存
- 🤖 **Claude Code 統合**: タスクを直接 Claude Code で実行
- 📊 **履歴管理**: 過去のタスクと実行履歴を追跡
- ⚙️ **カスタマイズ可能**: テンプレートと設定をカスタマイズ
- 🔷 **TypeScript**: 完全な型安全性と IntelliSense 対応
- 🛡️ **エラーハンドリング**: カスタムエラータイプによる詳細なエラー情報
- 🏷️ **タグとプライオリティ**: タスクの分類と優先度管理
## インストール
```bash
npm install -g @gonzui/claude-task-manager
```
または、プロジェクト内で使用:
```bash
npm install @gonzui/claude-task-manager
npx claude-task init
```
## 開発者向け
TypeScript プロジェクトでプログラム的に使用:
```typescript
import { TaskManager, TaskOptions } from "@gonzui/claude-task-manager";
const taskManager = new TaskManager("./my-project");
await taskManager.init();
const options: TaskOptions = {
title: "API実装",
description: "REST APIエンドポイントの実装",
priority: "high",
tags: ["backend", "api"],
};
await taskManager.createNewTask(options);
```
## 使用方法
### 初期化
```bash
claude-task init
```
プロジェクトディレクトリにタスク管理を初期化します。以下のファイル/フォルダが作成されます:
- `task.md` - 現在のタスクファイル
- `archive/` - 過去のタスクのアーカイブ
- `.claude-tasks/` - 設定ファイル
- `.claude/commands/task.md` - Claude Codeカスタムコマンド(`.claude/commands/`が存在する場合)
- `.gitignore`の更新 - タスク関連ファイルを除外
**Git風のディレクトリ動作**:
- コマンドを実行すると、Claude Task ManagerはGitが`.git`を探すように、上位ディレクトリの`.claude-tasks`ディレクトリを検索します
- 見つかった場合、現在のディレクトリに関係なく、すべての操作はそのプロジェクトルートを使用します
- 例: `/project`で`init`した後、`cd src/components && claude-task new`を実行しても、タスクは`/project/`に作成され、`/project/src/components/`には作成されません
- これにより、プロジェクト全体で統一されたタスク管理が保証されます
- サブディレクトリに別のタスク管理を作成する場合は、明示的にディレクトリを指定してください: `claude-task init .`
### 新しいタスクの作成
```bash
# 基本的な作成
claude-task new
# タイトル、説明、プライオリティ、タグを指定
claude-task new -t "ウェブサイトの改善" -d "パフォーマンス最適化とUIの改善" -p high --tags "frontend,optimization"
```
現在の`task.md`は自動的にアーカイブされ、新しいタスクファイルが作成されます。
### タスクの実行
```bash
# 現在のタスクをClaude Codeで実行
claude-task run
# 詳細出力付き
claude-task run -v
# デバッグ情報付き(コマンド、ファイルパス、プロンプトを表示)
claude-task run -d
# ファイル編集権限なしで実行(読み取り専用モード)
claude-task run --no-edit-permission
```
**注意**: デフォルトでは、Claudeはファイル編集権限付きで実行されます(`--dangerously-skip-permissions`フラグ使用)。これにより、タスクを完全に実行できます。読み取り専用モードで実行したい場合は`--no-edit-permission`を使用してください。
### 履歴の確認
```bash
# 過去10件の履歴を表示
claude-task history
# 表示件数を指定、ファイルサイズも表示
claude-task history -l 20 --size
```
### ステータス確認
```bash
claude-task status
```
現在のタスク、アーカイブ数、実行回数、最後の実行時間を表示します。
### 現在のタスクをアーカイブ
```bash
claude-task archive
```
現在のタスクをアーカイブフォルダにタイムスタンプ付きで移動します。
### Claude Code の直接実行
```bash
claude-task claude "コードをリファクタリングしてください"
```
## Claude Code カスタムコマンド
`claude-task init`を実行すると、`.claude/commands/`ディレクトリがあるプロジェクトでは自動的にカスタム`/task`コマンドが作成されます。これにより、Claude Code内で以下のコマンドを直接使用できます:
### 利用可能なコマンド
- `/task new "タスク名" [--priority high|medium|low] [--tags tag1,tag2]` - 新しいタスクを作成
- `/task status` - 現在のタスクステータスを確認
- `/task run` - 現在のタスクを実行(task.mdの内容をClaude Codeが処理するために表示)
- `/task history [--limit n]` - タスク履歴を表示
- `/task archive` - 完了したタスクをアーカイブ
### Claude Code内での使用例
```
/task new "ユーザー認証機能の実装" --priority high --tags auth,backend
```
```
/task status
```
```
/task run
```
カスタムコマンドファイルは、プロジェクトの言語設定(英語または日本語)に応じて自動的に生成されます。
## ファイル構造
```
your-project/
├── task.md # 現在のタスク
├── archive/ # アーカイブされたタスク
│ ├── 2025-07-23_14-30-45_task.md
│ ├── 2025-07-22_09-15-20_task.md
│ └── ...
└── .claude-tasks/
└── config.json # 設定ファイル
```
## タスクファイルの形式
```markdown
# タスクタイトル
**Created:** 2025-07-23 14:30:45
**Priority:** high
**Tags:** frontend, optimization
## Description
タスクの説明
## Tasks
- [ ] Task 1
- [ ] Task 2
- [ ] Task 3
## Context
<!-- Claude Code実行用のコンテキスト -->
## Notes
<!-- ノートをここに追加 -->
## Execution Log - 2025-07-23 14:35:22 (1234ms)
**Status:** ✅ Success
実行結果がここに記録されます...
---
```
## 開発とビルド
```bash
# 開発環境でのビルド
npm run build
# 開発モードでの実行
npm run dev -- init
# ウォッチモードでのビルド
npm run watch
# テストの実行
npm test
```
## TypeScript 型定義
パッケージには完全な型定義が含まれています:
```typescript
interface TaskOptions {
title?: string;
description?: string;
priority?: "low" | "medium" | "high";
tags?: string[];
}
interface TaskStatus {
currentTask: string | null;
archivedCount: number;
lastRun: string | null;
totalExecutions: number;
currentTaskSize?: number;
}
```
## 設定
`.claude-tasks/config.json`で設定をカスタマイズできます:
```json
{
"created": "2024-01-15T10:00:00.000Z",
"taskTemplate": "...",
"claudeCommand": "claude",
"defaultTaskTitle": "New Task",
"archiveDir": "archive",
"language": "ja",
"defaultPrerequisites": [
"<!-- 前提条件をここに追加 -->"
],
"defaultRules": [
"<!-- ルールをここに追加 -->"
],
"defaultTasks": [
"タスク 1",
"タスク 2",
"タスク 3"
]
}
```
### 言語設定
Claude Task Managerは複数の言語(英語・日本語)に対応しています:
```bash
# 現在の言語を確認
claude-task lang
# 日本語に変更
claude-task lang ja
# 英語に変更
claude-task lang en
```
言語設定は以下に影響します:
- CLIコマンドの出力
- タスクテンプレート
- カスタムコマンドテンプレート
- エラーメッセージ
### 配列設定
v1.0.6以降、`defaultPrerequisites`、`defaultRules`、`defaultTasks`は配列形式をサポートし、編集が容易になりました:
```json
{
"defaultPrerequisites": [
"<!-- 前提条件をここに追加 -->",
"必要な環境",
"必要な権限",
"事前のセットアップ手順"
]
}
```
これは自動的に以下のように変換されます:
```markdown
## Prerequisites
<!-- 前提条件をここに追加 -->
- 必要な環境
- 必要な権限
- 事前のセットアップ手順
```
### 設定の例
```json
{
"created": "2025-07-23T14:30:45.123Z",
"taskTemplate": "# {{TITLE}}\n\n...",
"claudeCommand": "claude code"
}
```
### 設定項目
- `taskTemplate`: 新しいタスクファイルのテンプレート
- `claudeCommand`: Claude Code の実行コマンド(デフォルト: "claude")
**注意**: デフォルトでは、Claudeはファイル編集権限(`--dangerously-skip-permissions`フラグ)付きで実行され、タスクを完全に実行できます。読み取り専用モードでClaudeを実行したい場合は、`--no-edit-permission`を使用してください。
## テンプレート変数
タスクテンプレートで使用可能な変数:
- `{{TITLE}}` - タスクタイトル
- `{{DESCRIPTION}}` - タスクの説明
- `{{DATE}}` - ISO 形式の作成日時
- `{{TIMESTAMP}}` - 読みやすい形式の作成日時
## 要件
- Node.js 16.0.0 以上
- Claude Code CLI がインストールされていること
## トラブルシューティング
### Claude Code が見つからない
Claude Code CLI が正しくインストールされ、PATH に追加されていることを確認してください。
### 権限エラー
ファイルの読み書き権限を確認してください:
```bash
chmod +x node_modules/.bin/claude-task
```
## ライセンス
MIT
## 貢献
貢献を歓迎します!
## 更新履歴
### v1.0.8 (2025-08-04)
- 機能追加: 手動で現在のタスクをアーカイブする`archive`コマンドを追加
- 改善: カスタムコマンドファイルをClaude Codeとの互換性向上のため英語で生成するように変更
- 改善: カスタムコマンドの指示をBashツールを明示的に使用するように改善
- 改善: `/task run`コマンドを`@task.md`参照を使用するように簡略化
- 修正: `/task new`コマンドが実際のCLI実行を通じて適切に新しいタスクを作成するように修正
### v1.0.7 (2025-07-25)
- 修正: ドキュメントの日付を2024年から2025年に修正
### v1.0.6 (2025-07-25)
- 機能追加: タスクテンプレートに前提条件とルールセクションを追加
- 機能追加: config.jsonで配列形式をサポートして編集を容易に
- 機能追加: `--dangerously-skip-permissions`フラグをデフォルトで有効化してファイル編集を許可
- 機能追加: `--no-edit-permission`オプションでファイル編集を無効化可能
- 改善: 環境変数からの言語検出機能
- 改善: アーカイブファイル名にミリ秒を追加
- 修正: 両言語でのテンプレート変数置換
- 修正: デフォルトタスクアイテムからチェックボックスを削除
### v1.0.5 (2025-07-24)
- 機能: `claude-task run`コマンドがタスクを正しく実行するように修正
- 機能: `--debug`フラグを追加(詳細な実行情報を表示)
- 機能: Claudeへのプロンプトで絶対パスから相対パスに変更
- 修正: デフォルトのclaudeコマンドを'claude code'から'claude'に更新
- 改善: 非インタラクティブ実行のために`--print`フラグを使用
### v1.0.2 (2025-07-23)
- 修正: package.jsonから動的にバージョンを読み込むように変更(正確なバージョン表示)
### v1.0.1 (2025-07-23)
- 修正: init時に.claudeディレクトリが存在する場合、.claude/commandsディレクトリを作成するように修正
- 改善: Claude Codeカスタムコマンドの生成処理
### v1.0.0 (2025-07-23)
- 初期リリース
- タスク管理機能(アーカイブと履歴付き)
- 多言語対応(英語/日本語)
- Git風のディレクトリ動作(プロジェクトルートの自動検出)
- Claude Code統合(カスタムコマンド対応)
- .gitignoreの自動更新機能