Automated Claude Code task runner
Project description
t-loop
自动化 Claude Code 任务运行器。用 YAML 定义任务,t-loop 按顺序执行,自带 git 安全保护。
安装
pip install tloop-cli # 从 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/
工作原理
每个任务的执行流程:
- 自动提交 — 如果工作目录有未提交的更改,t-loop 会用 Claude 先提交暂存区内容,再提交剩余更改。敏感文件(.env、密钥等)会被排除。
- 创建分支 — 创建任务分支(默认
feature-YYYYMMDD-NNN)隔离更改。 - 执行任务 — 在目标目录运行
cybervisor run <prompt>。 - 归档 — 已完成的任务移至
~/.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.5.0.tar.gz
(19.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
tloop_cli-0.5.0-py3-none-any.whl
(16.0 kB
view details)
File details
Details for the file tloop_cli-0.5.0.tar.gz.
File metadata
- Download URL: tloop_cli-0.5.0.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a76b1b7ec8f19d3c3ec4f4dafcaf393999922f7afbb8e074d290a3a458c55d80
|
|
| MD5 |
728bb51d863dd94c62b6851f390336b6
|
|
| BLAKE2b-256 |
3755a682fa811d49e85863bf3988d076929fb3bf8654a5a59aabc74674bfdb96
|
File details
Details for the file tloop_cli-0.5.0-py3-none-any.whl.
File metadata
- Download URL: tloop_cli-0.5.0-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
814816ec904735bc7bcd227655dda50a3cbf342b80cf5ad9c662b3e2ac011043
|
|
| MD5 |
d09683141b7195f671b1d9b37a53217a
|
|
| BLAKE2b-256 |
147bb385c1dba0f07fd3ee436599ed812945a46e98817d1ea4a20e37302e0135
|