aitasks 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +155 -0
- package/dist/index.js +27918 -0
- package/package.json +57 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 aitasks contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# aitasks
|
|
2
|
+
|
|
3
|
+
> CLI task management built for AI agents.
|
|
4
|
+
|
|
5
|
+
`aitasks` gives AI agents (Claude, Gemini, GPT, etc.) a structured task queue to work from. Agents can claim tasks, log progress notes, verify acceptance criteria with evidence, and hand off work — all via simple shell commands.
|
|
6
|
+
|
|
7
|
+
**Requires [Bun](https://bun.sh) ≥ 1.0.0.**
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
bun install -g aitasks
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
# 1. Initialize in your project
|
|
21
|
+
aitasks init
|
|
22
|
+
|
|
23
|
+
# 2. Create a task
|
|
24
|
+
aitasks create --title "Add JWT auth" --priority high --ac "POST /login returns token" --ac "Token expires in 1h"
|
|
25
|
+
|
|
26
|
+
# 3. Agent picks up work
|
|
27
|
+
aitasks next --agent claude-sonnet
|
|
28
|
+
|
|
29
|
+
# 4. Claim and start
|
|
30
|
+
aitasks claim TASK-001 --agent claude-sonnet
|
|
31
|
+
aitasks start TASK-001 --agent claude-sonnet
|
|
32
|
+
|
|
33
|
+
# 5. Log notes along the way
|
|
34
|
+
aitasks note TASK-001 "Using bcrypt for hashing — src/auth.ts:L22" --agent claude-sonnet
|
|
35
|
+
|
|
36
|
+
# 6. Verify acceptance criteria
|
|
37
|
+
aitasks check TASK-001 0 --evidence "POST /login returns 200 with token field" --agent claude-sonnet
|
|
38
|
+
aitasks check TASK-001 1 --evidence "token exp claim set to now+3600, confirmed in jwt.test.ts:L14"
|
|
39
|
+
|
|
40
|
+
# 7. Mark done
|
|
41
|
+
aitasks done TASK-001 --agent claude-sonnet
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Environment Variables
|
|
47
|
+
|
|
48
|
+
| Variable | Description |
|
|
49
|
+
|---|---|
|
|
50
|
+
| `AITASKS_AGENT_ID` | Default agent ID — avoids passing `--agent` on every command |
|
|
51
|
+
| `AITASKS_JSON` | Set to `true` to force JSON output globally (useful for scripting) |
|
|
52
|
+
|
|
53
|
+
```sh
|
|
54
|
+
export AITASKS_AGENT_ID=claude-sonnet
|
|
55
|
+
export AITASKS_JSON=true
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Commands
|
|
61
|
+
|
|
62
|
+
### Setup
|
|
63
|
+
|
|
64
|
+
| Command | Description |
|
|
65
|
+
|---|---|
|
|
66
|
+
| `aitasks init` | Initialize a task database in the current project |
|
|
67
|
+
| `aitasks onboard` | Print or inject agent protocol instructions into CLAUDE.md / AGENTS.md |
|
|
68
|
+
|
|
69
|
+
### Task Discovery
|
|
70
|
+
|
|
71
|
+
| Command | Description |
|
|
72
|
+
|---|---|
|
|
73
|
+
| `aitasks list` | List all tasks, sorted by priority |
|
|
74
|
+
| `aitasks list --status ready` | Filter by status (`ready`, `in_progress`, `done`, `blocked`, `needs_review`) |
|
|
75
|
+
| `aitasks next` | Show the highest-priority unblocked ready task |
|
|
76
|
+
| `aitasks show <id>` | Full detail on a specific task |
|
|
77
|
+
| `aitasks board` | Kanban-style board view |
|
|
78
|
+
|
|
79
|
+
### Task Lifecycle
|
|
80
|
+
|
|
81
|
+
| Command | Description |
|
|
82
|
+
|---|---|
|
|
83
|
+
| `aitasks create` | Create a task (interactive if no flags given) |
|
|
84
|
+
| `aitasks claim <id> --agent <id>` | Claim a task |
|
|
85
|
+
| `aitasks start <id> --agent <id>` | Begin active work |
|
|
86
|
+
| `aitasks note <id> <text>` | Add an implementation note |
|
|
87
|
+
| `aitasks check <id> <n> --evidence <text>` | Verify acceptance criterion n |
|
|
88
|
+
| `aitasks done <id> --agent <id>` | Mark complete (all criteria must be verified) |
|
|
89
|
+
| `aitasks review <id> --agent <id>` | Submit for human review |
|
|
90
|
+
| `aitasks reject <id> --reason <text>` | Reject and send back to in_progress |
|
|
91
|
+
| `aitasks unclaim <id> --agent <id>` | Release a task back to the pool |
|
|
92
|
+
|
|
93
|
+
### Blocking
|
|
94
|
+
|
|
95
|
+
| Command | Description |
|
|
96
|
+
|---|---|
|
|
97
|
+
| `aitasks block <id> --on <id,...>` | Mark a task as blocked by others |
|
|
98
|
+
| `aitasks unblock <id> --from <id>` | Manually remove a blocker |
|
|
99
|
+
|
|
100
|
+
### Agents & History
|
|
101
|
+
|
|
102
|
+
| Command | Description |
|
|
103
|
+
|---|---|
|
|
104
|
+
| `aitasks agents` | List active agents and their current tasks |
|
|
105
|
+
| `aitasks heartbeat [taskId]` | Update agent last-seen timestamp |
|
|
106
|
+
| `aitasks log <id>` | Full event history for a task |
|
|
107
|
+
| `aitasks export --format json` | Export all tasks as JSON |
|
|
108
|
+
| `aitasks export --format csv` | Export all tasks as CSV |
|
|
109
|
+
|
|
110
|
+
### Database
|
|
111
|
+
|
|
112
|
+
| Command | Description |
|
|
113
|
+
|---|---|
|
|
114
|
+
| `aitasks db status` | Show database health and stats |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## `create` Flags
|
|
119
|
+
|
|
120
|
+
```sh
|
|
121
|
+
aitasks create \
|
|
122
|
+
--title "My task" \
|
|
123
|
+
--desc "Longer description" \
|
|
124
|
+
--priority high \ # critical | high | medium | low (default: medium)
|
|
125
|
+
--type feature \ # feature | bug | chore | docs
|
|
126
|
+
--ac "Returns 200" \ # Acceptance criterion (repeatable)
|
|
127
|
+
--parent TASK-001 # Parent task ID
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Agent Protocol
|
|
133
|
+
|
|
134
|
+
When you run `aitasks init`, it automatically injects a full agent protocol into `CLAUDE.md`, `AGENTS.md`, or `GEMINI.md` (whichever exists, or creates `AGENTS.md`). This tells the AI agent exactly how to use `aitasks`.
|
|
135
|
+
|
|
136
|
+
You can also inject/view it manually:
|
|
137
|
+
|
|
138
|
+
```sh
|
|
139
|
+
aitasks onboard # print to stdout
|
|
140
|
+
aitasks onboard --append # append to detected agent file
|
|
141
|
+
aitasks onboard --file MY.md # append to a specific file
|
|
142
|
+
aitasks onboard --json # output as JSON string
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Data Storage
|
|
148
|
+
|
|
149
|
+
`aitasks init` creates a `.aitasks/` directory in your project root containing a SQLite database. Add `.aitasks/` to your `.gitignore` if you don't want to commit task data, or commit it to share tasks across your team.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## License
|
|
154
|
+
|
|
155
|
+
MIT
|