Metadata-Version: 2.4
Name: cli-anything-vikunja
Version: 0.1.0
Summary: CLI harness for Vikunja task management
Author: cli-anything-vikunja contributors
License-Expression: MIT
Project-URL: Homepage, https://github.com/theLastWinner/cli-anything-vikunja
Project-URL: Repository, https://github.com/theLastWinner/cli-anything-vikunja
Project-URL: Issues, https://github.com/theLastWinner/cli-anything-vikunja/issues
Keywords: vikunja,cli,task-management,todo
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Scheduling
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Dynamic: license-file

# cli-anything-vikunja

**中文** | [English](README_EN.md)

[Vikunja](https://vikunja.io) 的命令行客户端 —— 一款可自托管的待办事项应用。

从终端管理你的项目、任务、标签、团队等。同时面向人类用户和 AI 智能体自动化设计。

## 功能特性

- **完整 API 覆盖** — 项目、任务、标签、团队、评论、附件、Webhook、分享、通知、关联、回应、管理后台
- **单次命令 & 交互模式** — 使用单条命令或进入 REPL 交互模式
- **JSON 输出** — `--json` 标志，方便脚本和智能体消费
- **零外部依赖** — 仅需 `click`（HTTP 请求使用标准库 `urllib`）
- **任务关联** — 子任务、阻塞、相关以及所有 Vikunja 关联类型

## 安装

```bash
pip install cli-anything-vikunja
```

从源码安装：

```bash
git clone https://github.com/theLastWinner/cli-anything-vikunja.git
cd cli-anything-vikunja
pip install -e .
```

## 快速开始

```bash
# 交互式登录
cli-anything-vikunja auth login

# 或使用 API Token
cli-anything-vikunja auth token --url https://vikunja.example.com YOUR_TOKEN

# 或使用环境变量
export VIKUNJA_API_URL=https://vikunja.example.com
export VIKUNJA_TOKEN=your-token
```

## 使用方法

### 项目管理

```bash
cli-anything-vikunja projects list
cli-anything-vikunja projects create --title "Sprint 42"
cli-anything-vikunja projects get 1
cli-anything-vikunja projects update 1 --description "Q2 冲刺"
cli-anything-vikunja projects delete 1
```

### 任务管理

```bash
cli-anything-vikunja tasks list
cli-anything-vikunja tasks list --project 1
cli-anything-vikunja tasks create --project 1 --title "修复认证 Bug" --priority 5
cli-anything-vikunja tasks done 42
cli-anything-vikunja tasks undone 42
cli-anything-vikunja tasks update 42 --title "新标题"
cli-anything-vikunja tasks delete 42
```

### 任务关联（子任务、阻塞等）

```bash
# 添加子任务
cli-anything-vikunja tasks relations add-subtask 10 20

# 标记任务 5 阻塞任务 8
cli-anything-vikunja tasks relations add-blocking 5 8

# 使用任意关联类型
cli-anything-vikunja tasks relations add 10 20 --kind subtask

# 移除关联
cli-anything-vikunja tasks relations remove 10 20 --kind subtask
```

支持的关联类型：`subtask`、`parenttask`、`related`、`duplicateof`、`duplicates`、`blocking`、`blocked`、`precedes`、`follows`、`copiedfrom`、`copiedto`

### 标签与团队

```bash
cli-anything-vikunja labels list
cli-anything-vikunja labels create --title "bug" --hex-color FF0000
cli-anything-vikunja teams list
cli-anything-vikunja teams create --name "后端团队"
```

### 评论与通知

```bash
cli-anything-vikunja comments list 42
cli-anything-vikunja comments add 42 --comment "看起来不错"
cli-anything-vikunja notifications list
cli-anything-vikunja notifications read-all
```

### JSON 输出

```bash
cli-anything-vikunja --json tasks list --project 1
cli-anything-vikunja --json projects get 1
```

### 交互式 REPL

```bash
cli-anything-vikunja repl
```

## 命令速查

| 命令组 | 可用命令 |
|-------|----------|
| `auth` | login, logout, status, token |
| `projects` | list, get, create, update, delete, duplicate |
| `tasks` | list, get, create, update, done, undone, delete |
| `tasks relations` | add, remove, add-subtask, add-blocking, add-related |
| `labels` | list, create, update, delete |
| `teams` | list, create, update, delete, add-member, remove-member |
| `notifications` | list, read, read-all |
| `comments` | list, add, delete |
| `shares` | list, create, delete |
| `webhooks` | list, create, delete |
| `admin` | overview, users |

## 配置

配置文件存储在 `~/.config/cli-anything-vikunja/config.json`。

| 环境变量 | 说明 |
|---------------------|-------------|
| `VIKUNJA_API_URL` | Vikunja API 基础 URL |
| `VIKUNJA_TOKEN` | JWT 或 API Token |

## 开发指南

```bash
pip install -e ".[dev]"
pytest -v
```

## 许可证

[MIT](LICENSE)
