npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

takt

v0.33.2

Published

TAKT: TAKT Agent Koordination Topology - AI Agent Piece Orchestration

Downloads

7,344

Readme

TAKT

🇯🇵 日本語ドキュメント | 💬 Discord Community

TAKT Agent Koordination Topology — Give your AI coding agents structured review loops, managed prompts, and guardrails — so they deliver quality code, not just code.

TAKT runs AI agents (Claude Code, Codex, OpenCode, Cursor, GitHub Copilot CLI) through YAML-defined workflows with built-in review cycles. You talk to AI to define what you want, queue tasks, and let TAKT handle the execution — planning, implementation, multi-stage review, and fix loops — all governed by declarative piece files.

TAKT is built with TAKT itself (dogfooding).

Why TAKT

Batteries included — Architecture, security, and AI antipattern review criteria are built in. Ship code that meets a quality bar from day one.

Practical — A tool for daily development, not demos. Talk to AI to refine requirements, queue tasks, and run them. Worktree isolation on task execution, PR creation, and retry on failure.

Reproducible — Execution paths are declared in YAML, keeping results consistent. Pieces are shareable — a workflow built by one team member can be used by anyone else to run the same quality process. Every step is logged in NDJSON for full traceability from task to PR.

Multi-agent — Orchestrate multiple agents with different personas, permissions, and review criteria. Run parallel reviewers, route failures back to implementers, aggregate results with declarative rules. Prompts are managed as independent facets (persona, policy, knowledge, instruction) that compose freely across workflows (Faceted Prompting).

Requirements

Choose one:

Optional:

  • GitHub CLI (gh) — for takt #N (GitHub Issue tasks)
  • GitLab CLI (glab) — for GitLab Issue/MR integration (auto-detected from remote URL)

OAuth and API key usage: Whether OAuth or API key access is permitted varies by provider and use case. Check each provider's terms of service before using TAKT.

Quick Start

Install

npm install -g takt

Talk to AI and queue tasks

$ takt

Select piece:
  ❯ 🎼 default (current)
    📁 🚀 Quick Start/
    📁 🎨 Frontend/
    📁 ⚙️ Backend/

> Add user authentication with JWT

[AI clarifies requirements and organizes the task]

> /go

Proposed task:
  ...

What would you like to do?
    Execute now
    Create GitHub Issue
  ❯ Queue as task          # ← normal flow
    Continue conversation

Choosing "Queue as task" saves the task to .takt/tasks/. Run takt run to execute — TAKT creates an isolated worktree, runs the piece (plan → implement → review → fix loop), and offers to create a PR when done.

# Execute queued tasks
takt run

# You can also queue from GitHub Issues
takt add #6
takt add #12

# Execute all pending tasks
takt run

"Execute now" runs the piece directly in your current directory without worktree isolation. Useful for quick experiments, but note that changes go straight into your working tree.

Manage results

# List completed/failed task branches — merge, retry, or delete
takt list

How It Works

TAKT uses a music metaphor — the name itself comes from the German word for "beat" or "baton stroke," used in conducting to keep an orchestra in time. In TAKT, a piece is a workflow and a movement is a step within it, just as a musical piece is composed of movements.

A piece defines a sequence of movements. Each movement specifies a persona (who), permissions (what's allowed), and rules (what happens next). Here's a minimal example:

name: plan-implement-review
initial_movement: plan
max_movements: 10

movements:
  - name: plan
    persona: planner
    edit: false
    rules:
      - condition: Planning complete
        next: implement

  - name: implement
    persona: coder
    edit: true
    required_permission_mode: edit
    rules:
      - condition: Implementation complete
        next: review

  - name: review
    persona: reviewer
    edit: false
    rules:
      - condition: Approved
        next: COMPLETE
      - condition: Needs fix
        next: implement    # ← fix loop

Rules determine the next movement. COMPLETE ends the piece successfully, ABORT ends with failure. See the Piece Guide for the full schema, parallel movements, and rule condition types.

Recommended Pieces

| Piece | Use Case | |-------|----------| | default | Standard development. Test-first with AI antipattern review and parallel review (architecture + supervisor). | | frontend-mini | Frontend-focused mini configuration. | | backend-mini | Backend-focused mini configuration. | | dual-mini | Frontend + backend mini configuration. |

See the Builtin Catalog for all pieces and personas.

Key Commands

| Command | Description | |---------|-------------| | takt | Talk to AI, refine requirements, execute or queue tasks | | takt run | Execute all pending tasks | | takt list | Manage task branches (merge, retry, instruct, delete) | | takt #N | Execute GitHub Issue as task | | takt eject | Copy builtin pieces/facets for customization | | takt repertoire add | Install a repertoire package from GitHub |

See the CLI Reference for all commands and options.

Configuration

Minimal ~/.takt/config.yaml:

provider: claude    # claude, codex, opencode, cursor, or copilot
model: sonnet       # passed directly to provider
language: en        # en or ja

Or use API keys directly (no CLI installation required for Claude, Codex, OpenCode):

export TAKT_ANTHROPIC_API_KEY=sk-ant-...   # Anthropic (Claude)
export TAKT_OPENAI_API_KEY=sk-...          # OpenAI (Codex)
export TAKT_OPENCODE_API_KEY=...           # OpenCode
export TAKT_CURSOR_API_KEY=...             # Cursor Agent (optional if logged in)
export TAKT_COPILOT_GITHUB_TOKEN=ghp_...   # GitHub Copilot CLI

See the Configuration Guide for all options, provider profiles, and model resolution.

Customization

Custom pieces

takt eject default    # Copy builtin to ~/.takt/pieces/ and edit

Custom personas

Create a Markdown file in ~/.takt/personas/:

# ~/.takt/personas/my-reviewer.md
You are a code reviewer specialized in security.

Reference it in your piece: persona: my-reviewer

See the Piece Guide and Agent Guide for details.

CI/CD

TAKT provides takt-action for GitHub Actions:

- uses: nrslib/takt-action@main
  with:
    anthropic_api_key: ${{ secrets.TAKT_ANTHROPIC_API_KEY }}
    github_token: ${{ secrets.GITHUB_TOKEN }}

For other CI systems, use pipeline mode:

takt --pipeline --task "Fix the bug" --auto-pr

See the CI/CD Guide for full setup instructions.

Project Structure

~/.takt/                    # Global config
├── config.yaml             # Provider, model, language, etc.
├── pieces/                 # User piece definitions
├── facets/                 # User facets (personas, policies, knowledge, etc.)
└── repertoire/             # Installed repertoire packages

.takt/                      # Project-level
├── config.yaml             # Project config
├── facets/                 # Project facets
├── tasks.yaml              # Pending tasks
├── tasks/                  # Task specifications
└── runs/                   # Execution reports, logs, context

API Usage

import { PieceEngine, loadPiece } from 'takt';

const config = loadPiece('default');
if (!config) throw new Error('Piece not found');

const engine = new PieceEngine(config, process.cwd(), 'My task');
engine.on('movement:complete', (movement, response) => {
  console.log(`${movement.name}: ${response.status}`);
});

await engine.run();

Documentation

| Document | Description | |----------|-------------| | CLI Reference | All commands and options | | Configuration | Global and project settings | | Piece Guide | Creating and customizing pieces | | Agent Guide | Custom agent configuration | | Builtin Catalog | All builtin pieces and personas | | Faceted Prompting | Prompt design methodology | | Repertoire Packages | Installing and sharing packages | | Task Management | Task queuing, execution, isolation | | Data Flow | Internal data flow and architecture diagrams | | CI/CD Integration | GitHub Actions and pipeline mode | | Provider Sandbox & Permissions | Sandbox, permission modes, and network access for Codex / OpenCode / Claude | | Changelog (日本語) | Version history | | Security Policy | Vulnerability reporting |

Community

Join the TAKT Discord for questions, discussions, and updates.

Contributing

See CONTRIBUTING.md for details.

License

MIT — See LICENSE for details.