From 14d30b18958c66b0c3ac451d5e12f36f52c89230 Mon Sep 17 00:00:00 2001 From: nrslib <38722970+nrslib@users.noreply.github.com> Date: Thu, 5 Feb 2026 17:43:15 +0900 Subject: [PATCH 1/2] add release action --- .github/workflows/auto-tag.yml | 28 ++++++++++++++++++++++++++++ .github/workflows/publish.yml | 12 +++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/auto-tag.yml diff --git a/.github/workflows/auto-tag.yml b/.github/workflows/auto-tag.yml new file mode 100644 index 0000000..7eec4b2 --- /dev/null +++ b/.github/workflows/auto-tag.yml @@ -0,0 +1,28 @@ +name: Auto Tag on Release PR Merge + +on: + pull_request: + types: [closed] + branches: [main] + +jobs: + tag: + if: > + github.event.pull_request.merged == true && + startsWith(github.event.pull_request.title, 'Release v') + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + + - name: Extract version from PR title + id: version + run: | + VERSION=$(echo "${{ github.event.pull_request.title }}" | sed 's/^Release //') + echo "tag=$VERSION" >> "$GITHUB_OUTPUT" + + - name: Create and push tag + run: | + git tag "${{ steps.version.outputs.tag }}" + git push origin "${{ steps.version.outputs.tag }}" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d9cd61e..0a4a2c1 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,6 +19,16 @@ jobs: - run: npm ci - run: npm run build - run: npm test - - run: npm publish + - name: Determine npm tag + id: npm-tag + run: | + VERSION="${GITHUB_REF#refs/tags/v}" + if echo "$VERSION" | grep -qE '(alpha|beta|rc|next)'; then + echo "tag=next" >> "$GITHUB_OUTPUT" + else + echo "tag=latest" >> "$GITHUB_OUTPUT" + fi + + - run: npm publish --tag ${{ steps.npm-tag.outputs.tag }} env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} From 13fbc973149ef7d1f80921cecafd187c942ac4b1 Mon Sep 17 00:00:00 2001 From: nrslib <38722970+nrslib@users.noreply.github.com> Date: Thu, 5 Feb 2026 19:38:18 +0900 Subject: [PATCH 2/2] update README --- README.md | 19 +++++++++---------- docs/README.ja.md | 19 +++++++++---------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 93a2580..720c2ec 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ 🇯🇵 [日本語ドキュメント](./docs/README.ja.md) -**T**ask **A**gent **K**oordination **T**ool - A governance-first orchestrator for running coding agents safely and responsibly +**T**ask **A**gent **K**oordination **T**ool - Define how AI agents coordinate, where humans intervene, and what gets recorded — in YAML -TAKT coordinates AI agents like Claude Code and Codex according to your organization's rules and pieces. It clarifies who is responsible, what is permitted, and how to recover from failures, while automating complex development tasks. +TAKT runs multiple AI agents (Claude Code, Codex) through YAML-defined workflows. Each step — who runs, what's allowed, what happens on failure — is declared in a piece file, not left to the agent. TAKT is built with TAKT itself (dogfooding). @@ -18,18 +18,17 @@ TAKT uses a music metaphor to describe orchestration: You can read every term as standard workflow language (piece = workflow, movement = step), but the metaphor is used to keep the system conceptually consistent. -## TAKT is For Teams That Need +## Why TAKT -- **Want to integrate AI into CI/CD but fear runaway execution** — Clarify control scope with piece definitions -- **Want automated PR generation but need audit logs** — Record and track all execution history -- **Want to use multiple AI models but manage them uniformly** — Control Claude/Codex/Mock with the same piece -- **Want to reproduce and debug agent failures** — Maintain complete history with session logs and reports +- AI agents are powerful but non-deterministic — TAKT makes their decisions visible and replayable +- Multi-agent coordination needs structure — pieces define who does what, in what order, with what permissions +- CI/CD integration needs guardrails — pipeline mode runs agents non-interactively with full audit logs ## What TAKT is NOT -- **Not an autonomous engineer** — TAKT doesn't complete implementations itself; it governs and coordinates multiple agents -- **Not competing with Claude Code Swarm** — While leveraging Swarm's execution power, TAKT provides "operational guardrails" such as piece definitions, permission controls, and audit logs -- **Not just a piece engine** — TAKT is designed to address AI-specific challenges (non-determinism, accountability, audit requirements, and reproducibility) +- **Not an autonomous engineer** — TAKT coordinates agents but doesn't decide what to build. You provide the task, TAKT governs the execution. +- **Not a Skill or Swarm replacement** — Skills extend a single agent's knowledge. Swarm parallelizes agents. TAKT defines the workflow structure across agents — which agent runs, in what order, with what rules. +- **Not fully automatic by default** — Every step can require human approval. Automation is opt-in (pipeline mode), not the default. ## Requirements diff --git a/docs/README.ja.md b/docs/README.ja.md index 7556fa5..fb187db 100644 --- a/docs/README.ja.md +++ b/docs/README.ja.md @@ -1,8 +1,8 @@ # TAKT -**T**ask **A**gent **K**oordination **T**ool - AIエージェントを「安全に」「責任を持って」運用するための協調制御システム +**T**ask **A**gent **K**oordination **T**ool - AIエージェントの協調手順・人の介入ポイント・記録をYAMLで定義する -TAKTは、Claude CodeやCodexなどのAIエージェントを、組織のルールとピースに従って協調させます。誰が責任を持つか・どこまで許可するか・失敗時にどう戻すか を明確にしながら、複雑な開発タスクを自動化します。 +TAKTは複数のAIエージェント(Claude Code、Codex)をYAMLで定義されたワークフローに従って実行します。各ステップで誰が実行し、何を許可し、失敗時にどうするかはピースファイルに宣言され、エージェント任せにしません。 TAKTはTAKT自身で開発されています(ドッグフーディング)。 @@ -14,18 +14,17 @@ TAKTはオーケストラをイメージした音楽メタファで用語を統 - **Movement**: ピース内の1ステップ(実行フローの1段階) - **Orchestration**: ムーブメント間でエージェントを協調させるエンジン -## TAKTが向いているチーム +## なぜTAKTか -- **CI/CDにAIを組み込みたいが、暴走が怖い** — ピース定義で制御範囲を明確化 -- **PRの自動生成をしたいが、監査ログが必要** — 全ての実行履歴を記録・追跡可能 -- **複数のAIモデルを使い分けたいが、統一的に管理したい** — Claude/Codex/モックを同じピースで制御 -- **エージェントの失敗を再現・デバッグしたい** — セッションログとレポートで完全な履歴を保持 +- AIエージェントは強力だが非決定的 — TAKTはエージェントの判断を可視化し、再現可能にする +- マルチエージェントの協調には構造が必要 — ピースが誰が何をどの順序でどの権限で行うかを定義する +- CI/CD連携にはガードレールが必要 — パイプラインモードが非対話でエージェントを実行し、完全な監査ログを残す ## TAKTとは何でないか -- **自律型AIエンジニアの代替ではありません** — TAKT自身が実装を完結するのではなく、複数のエージェントを統治・協調させます -- **Claude Code Swarmの競合ではありません** — Swarmの実行力を活かしつつ、TAKTはピース/権限/監査ログなど「運用のガードレール」を提供します -- **単なるピースエンジンではありません** — 非決定性、責任所在、監査要件、再現性といったAI特有の課題に対応した設計です +- **自律型AIエンジニアではない** — TAKTはエージェントを協調させるが、何を作るかは決めない。タスクを与えるのはあなたで、TAKTは実行を統制する。 +- **SkillやSwarmの代替ではない** — Skillは単一エージェントの知識を拡張する。Swarmはエージェントを並列化する。TAKTはエージェント間のワークフロー構造を定義する — 誰がどの順序でどのルールで実行するか。 +- **デフォルトで全自動ではない** — すべてのステップで人の承認を要求できる。自動化はオプトイン(パイプラインモード)であり、デフォルトではない。 ## 必要条件