Skip to main content

Automated Claude Code task runner

Project description

t-loop

自动化 Claude Code 任务运行器。用 YAML 定义任务,t-loop 按顺序执行,自带 git 安全保护。

安装

pip install t-loop            # 从 PyPI 安装
pip install -e .              # 本地开发安装

需要 Python >=3.9,唯一外部依赖:pyyaml

快速开始

# 首次运行会创建 ~/.tloop/tasks.yaml 示例配置
tloop run

# 编辑任务后运行
tloop edit
tloop run

任务配置

编辑 ~/.tloop/tasks.yaml

tasks:
  - name: 我的第一个任务
    dir: ~/projects/my-project
    prompt: |
      描述 Claude 应该做什么。

  - name: 使用 prompt 文件的任务
    dir: ~/projects/my-project
    prompt_file: ./prompts/my-task.md
    branch: feat/login   # 自定义分支名

任务字段

字段 说明
name 任务显示名称
dir 任务工作目录
prompt 内联 prompt 文本
prompt_file prompt 文件路径(解析顺序:绝对路径 → ~/.tloop/ 相对 → 任务目录相对)
model 覆盖该任务的模型
branch true(自动 feature-YYYYMMDD-NNN)、"custom/name"、或 false(跳过分支)

用法

tloop run                  # 运行所有待执行任务
tloop run --status         # 查看任务状态
tloop run --only 2         # 只运行第 2 个任务
tloop run --confirm        # 每个任务前确认
tloop run -c               # 失败后继续执行
tloop run --reset          # 重置所有任务为待执行
tloop edit                 # 用 $EDITOR 打开 tasks.yaml
tloop archive              # 列出归档记录
tloop archive --latest     # 显示最近一次归档详情
tloop migrate              # 迁移旧的项目本地数据到 ~/.tloop/

工作原理

每个任务的执行流程:

  1. 自动提交 — 如果工作目录有未提交的更改,t-loop 会用 Claude 先提交暂存区内容,再提交剩余更改。敏感文件(.env、密钥等)会被排除。
  2. 创建分支 — 创建任务分支(默认 feature-YYYYMMDD-NNN)隔离更改。
  3. 执行任务 — 在目标目录运行 cybervisor run <prompt>
  4. 归档 — 已完成的任务移至 ~/.tloop/archive/,并从 tasks.yaml 中移除。

文件位置

~/.tloop/
├── tasks.yaml      # 任务定义
├── state.json      # 运行时状态(任务状态)
├── logs/           # 执行日志
└── archive/        # 已完成任务的归档

开发

pip install -e .
python -m pytest test/ -v

许可证

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tloop_cli-0.4.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tloop_cli-0.4.0-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file tloop_cli-0.4.0.tar.gz.

File metadata

  • Download URL: tloop_cli-0.4.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for tloop_cli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 1b117431f462a9c4132361011008f26f6f64340f3710a8d20be337b2db0bdd51
MD5 c94806f485917d3082a89fe0352ff146
BLAKE2b-256 c8cebcbd21cc959fc12c5c591acc34574941ac11dbe504a0ef0cf4632e9ab37a

See more details on using hashes here.

File details

Details for the file tloop_cli-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: tloop_cli-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for tloop_cli-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2a7c408d94824c5c36b6a6f15cd07bfd26584b4777e52603c354606ad1937c3
MD5 c258fffddc5cce18c58055d83dad9104
BLAKE2b-256 0fc04ae28fbab8a454ff2260bf95055c33800254f528b5fd91014657df582a7a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page