clawck 0.1.3 → 0.3.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/README.md +214 -166
- package/dist/cli/index.js +490 -53
- package/dist/cli/index.js.map +1 -1
- package/dist/core/clawck.d.ts +14 -3
- package/dist/core/clawck.d.ts.map +1 -1
- package/dist/core/clawck.js +41 -14
- package/dist/core/clawck.js.map +1 -1
- package/dist/core/database.d.ts +1 -0
- package/dist/core/database.d.ts.map +1 -1
- package/dist/core/database.js +26 -7
- package/dist/core/database.js.map +1 -1
- package/dist/core/patterns.d.ts +7 -0
- package/dist/core/patterns.d.ts.map +1 -0
- package/dist/core/patterns.js +36 -0
- package/dist/core/patterns.js.map +1 -0
- package/dist/core/types.d.ts +31 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/webhooks.d.ts +22 -0
- package/dist/core/webhooks.d.ts.map +1 -0
- package/dist/core/webhooks.js +70 -0
- package/dist/core/webhooks.js.map +1 -0
- package/dist/hooks/adapters.d.ts +8 -0
- package/dist/hooks/adapters.d.ts.map +1 -0
- package/dist/hooks/adapters.js +138 -0
- package/dist/hooks/adapters.js.map +1 -0
- package/dist/hooks/handler.d.ts +9 -0
- package/dist/hooks/handler.d.ts.map +1 -0
- package/dist/hooks/handler.js +90 -0
- package/dist/hooks/handler.js.map +1 -0
- package/dist/hooks/index.d.ts +10 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +23 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/install.d.ts +16 -0
- package/dist/hooks/install.d.ts.map +1 -0
- package/dist/hooks/install.js +239 -0
- package/dist/hooks/install.js.map +1 -0
- package/dist/hooks/session.d.ts +10 -0
- package/dist/hooks/session.d.ts.map +1 -0
- package/dist/hooks/session.js +72 -0
- package/dist/hooks/session.js.map +1 -0
- package/dist/hooks/stdin.d.ts +6 -0
- package/dist/hooks/stdin.d.ts.map +1 -0
- package/dist/hooks/stdin.js +38 -0
- package/dist/hooks/stdin.js.map +1 -0
- package/dist/hooks/types.d.ts +23 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +7 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/reports/html.d.ts +13 -0
- package/dist/reports/html.d.ts.map +1 -0
- package/dist/reports/html.js +321 -0
- package/dist/reports/html.js.map +1 -0
- package/dist/reports/pdf.d.ts +13 -0
- package/dist/reports/pdf.d.ts.map +1 -0
- package/dist/reports/pdf.js +169 -0
- package/dist/reports/pdf.js.map +1 -0
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +16 -0
- package/dist/server/api.js.map +1 -1
- package/dist/server/mcp.d.ts.map +1 -1
- package/dist/server/mcp.js +30 -9
- package/dist/server/mcp.js.map +1 -1
- package/docs/skills/clawck-setup.md +131 -0
- package/docs/skills/clawck-usage.md +148 -0
- package/docs/snippets/claude-md.txt +24 -0
- package/docs/snippets/hooks-claude.json +16 -0
- package/docs/snippets/hooks-cline.txt +10 -0
- package/docs/snippets/hooks-codex.json +16 -0
- package/docs/snippets/hooks-cursor.json +16 -0
- package/docs/snippets/hooks-gemini.json +16 -0
- package/docs/snippets/hooks-windsurf.json +16 -0
- package/docs/snippets/mcp-config.json +7 -0
- package/docs/snippets/openclaw-agent-md.txt +18 -0
- package/docs/snippets/openclaw-heartbeat-md.txt +17 -0
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Clawck v0.3
|
|
2
2
|
|
|
3
3
|
**Time tracking for AI agents. Toggl for the agentic era.**
|
|
4
4
|
|
|
5
|
-
Clawck is an open-source tool that tracks how long AI agents spend on tasks, projects, and client work
|
|
5
|
+
Clawck is an open-source tool that tracks how long AI agents spend on tasks, projects, and client work - then shows you how much human-equivalent time and money they saved.
|
|
6
6
|
|
|
7
7
|
Every service business runs on timesheets. AI agent businesses will too.
|
|
8
8
|
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Why Clawck?
|
|
12
|
-
|
|
13
|
-
AI agents are doing real work — writing code, researching grants, generating content, analyzing data. But nobody's tracking *how long* that work takes or *how much value* it delivers.
|
|
14
|
-
|
|
15
|
-
Clawck answers the questions your clients, managers, and finance teams are already asking:
|
|
16
|
-
|
|
17
|
-
- **"What did the AI actually do today?"** → A clear timesheet showing every task, duration, and outcome
|
|
18
|
-
- **"Is this worth what we're paying?"** → Human-equivalent hours and cost savings calculated automatically
|
|
19
|
-
- **"Which agent is the most productive?"** → Per-agent breakdowns across projects and clients
|
|
20
|
-
|
|
21
9
|
## Quick Start
|
|
22
10
|
|
|
23
11
|
```bash
|
|
@@ -27,15 +15,34 @@ npm install -g clawck
|
|
|
27
15
|
# Initialize
|
|
28
16
|
clawck init
|
|
29
17
|
|
|
30
|
-
# Seed with sample data
|
|
18
|
+
# Seed with sample data
|
|
31
19
|
clawck seed --count 30
|
|
32
20
|
|
|
33
21
|
# Start the server + dashboard
|
|
34
22
|
clawck serve
|
|
35
|
-
#
|
|
23
|
+
# Open http://localhost:3456
|
|
24
|
+
|
|
25
|
+
# Generate an interactive HTML report
|
|
26
|
+
clawck report --format html
|
|
36
27
|
```
|
|
37
28
|
|
|
38
|
-
##
|
|
29
|
+
## Features
|
|
30
|
+
|
|
31
|
+
- **Time tracking** - Start/stop timers or log completed tasks retroactively
|
|
32
|
+
- **Human-equivalent calculations** - Configurable multipliers estimate how long a human would take
|
|
33
|
+
- **Tracking patterns** - Reusable task templates (code-review, research, testing, etc.)
|
|
34
|
+
- **Approval workflow** - Mark entries as approved for billing/invoicing
|
|
35
|
+
- **Reports** - Terminal, PDF, and interactive HTML reports with calendar, table, Gantt, and CSV views
|
|
36
|
+
- **Dashboard** - Real-time web dashboard with stats, entries, and breakdowns
|
|
37
|
+
- **MCP server** - Works with Claude Code, Cline, Cursor, Windsurf via stdio
|
|
38
|
+
- **REST API** - Full CRUD API for any agent framework
|
|
39
|
+
- **Multi-agent sync** - Pull from remote instances or push via ingest endpoint
|
|
40
|
+
- **Webhooks** - Notify on task completion, failure, or idle alerts
|
|
41
|
+
- **Platform hooks** - Auto-track via Claude Code hooks, Gemini, Cursor, etc.
|
|
42
|
+
- **PDF reports** - Professional timesheet PDFs with entry details table
|
|
43
|
+
- **CSV/JSON export** - Export data for external tools
|
|
44
|
+
|
|
45
|
+
## Getting Started
|
|
39
46
|
|
|
40
47
|
### 1. Agents clock in and out
|
|
41
48
|
|
|
@@ -52,12 +59,7 @@ Add to your MCP config (`~/.claude/mcp_servers.json` or similar):
|
|
|
52
59
|
}
|
|
53
60
|
```
|
|
54
61
|
|
|
55
|
-
|
|
56
|
-
- `clawck_start_task` — Start a timer
|
|
57
|
-
- `clawck_stop_task` — Stop a timer
|
|
58
|
-
- `clawck_log_task` — Log a completed task retroactively
|
|
59
|
-
- `clawck_status` — See what's running
|
|
60
|
-
- `clawck_timesheet` — Get a summary report
|
|
62
|
+
Your agent gets: `clawck_start_task`, `clawck_stop_task`, `clawck_log_task`, `clawck_status`, `clawck_timesheet`.
|
|
61
63
|
|
|
62
64
|
**Via REST API:**
|
|
63
65
|
|
|
@@ -70,43 +72,26 @@ curl -X POST http://localhost:3456/api/start \
|
|
|
70
72
|
# Stop a task
|
|
71
73
|
curl -X POST http://localhost:3456/api/stop \
|
|
72
74
|
-H "Content-Type: application/json" \
|
|
73
|
-
-d '{"id": "entry-uuid-here", "status": "completed", "summary": "Found 12 matching grants"
|
|
75
|
+
-d '{"id": "entry-uuid-here", "status": "completed", "summary": "Found 12 matching grants"}'
|
|
74
76
|
```
|
|
75
77
|
|
|
76
|
-
**Via the SDK
|
|
78
|
+
**Via the SDK:**
|
|
77
79
|
|
|
78
80
|
```typescript
|
|
79
81
|
import { Clawck } from 'clawck';
|
|
80
82
|
|
|
81
|
-
const clawck = new Clawck({
|
|
82
|
-
|
|
83
|
-
default_agent: 'my-agent',
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
const entry = clawck.start({
|
|
87
|
-
task: 'Analyze Q3 customer data',
|
|
88
|
-
project: 'analytics',
|
|
89
|
-
category: 'analysis',
|
|
90
|
-
});
|
|
91
|
-
|
|
83
|
+
const clawck = new Clawck({ default_client: 'acme-corp', default_agent: 'my-agent' });
|
|
84
|
+
const entry = clawck.start({ task: 'Analyze Q3 data', project: 'analytics', category: 'analysis' });
|
|
92
85
|
// ... agent does work ...
|
|
93
|
-
|
|
94
|
-
clawck.stop({
|
|
95
|
-
id: entry.id,
|
|
96
|
-
status: 'completed',
|
|
97
|
-
tokens_in: 25000,
|
|
98
|
-
tokens_out: 8000,
|
|
99
|
-
cost_usd: 0.12,
|
|
100
|
-
summary: 'Identified 3 key churn drivers',
|
|
101
|
-
});
|
|
86
|
+
clawck.stop({ id: entry.id, status: 'completed', tokens_in: 25000, cost_usd: 0.12 });
|
|
102
87
|
```
|
|
103
88
|
|
|
104
89
|
### 2. Clawck calculates human-equivalent value
|
|
105
90
|
|
|
106
|
-
Every entry has a **category**
|
|
91
|
+
Every entry has a **category** and Clawck applies configurable multipliers:
|
|
107
92
|
|
|
108
|
-
| Category |
|
|
109
|
-
|
|
93
|
+
| Category | Multiplier | Human Rate |
|
|
94
|
+
|----------|-----------|------------|
|
|
110
95
|
| Research | 12x | $50/hr |
|
|
111
96
|
| Content | 10x | $45/hr |
|
|
112
97
|
| Code | 6x | $75/hr |
|
|
@@ -114,83 +99,135 @@ Every entry has a **category** (research, content, code, data_entry, design, etc
|
|
|
114
99
|
| Design | 5x | $60/hr |
|
|
115
100
|
| Analysis | 10x | $55/hr |
|
|
116
101
|
| Testing | 8x | $65/hr |
|
|
102
|
+
| Planning | 6x | $50/hr |
|
|
103
|
+
| Communication | 8x | $40/hr |
|
|
104
|
+
| Other | 8x | $50/hr |
|
|
117
105
|
|
|
118
|
-
|
|
106
|
+
30 minutes of agent research = **6 hours human-equivalent** = **$300 estimated value**.
|
|
119
107
|
|
|
120
|
-
### 3. View
|
|
108
|
+
### 3. View results
|
|
121
109
|
|
|
122
|
-
|
|
110
|
+
- **Dashboard** at `http://localhost:3456` - stats, entries, breakdowns by project/agent/category
|
|
111
|
+
- **Terminal** - `clawck report` for quick summaries
|
|
112
|
+
- **HTML** - `clawck report --format html` - interactive report with calendar, sortable table, Gantt chart, CSV export
|
|
113
|
+
- **PDF** - `clawck report --format pdf` - printable timesheet with entry details
|
|
123
114
|
|
|
124
|
-
|
|
125
|
-
- 💚 **Savings banner** — Total estimated value delivered
|
|
126
|
-
- 📋 **Time entries** — Every task with duration, category, and status
|
|
127
|
-
- 📁 **By Project** — Hours breakdown per project with visual bars
|
|
128
|
-
- 🤖 **By Agent** — Per-agent productivity and success rates
|
|
129
|
-
- 🏷️ **By Category** — Where time is going across work types
|
|
115
|
+
## Tracking Patterns
|
|
130
116
|
|
|
131
|
-
|
|
117
|
+
Patterns are reusable templates for common task types. They set default values for category, project, client, agent, and tags.
|
|
132
118
|
|
|
133
|
-
|
|
119
|
+
**Built-in patterns:** `default`, `code-review`, `research`, `content-creation`, `testing`
|
|
134
120
|
|
|
135
|
-
|
|
121
|
+
```bash
|
|
122
|
+
# List available patterns
|
|
123
|
+
clawck pattern list
|
|
136
124
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
"sync_interval": 60
|
|
146
|
-
}
|
|
125
|
+
# Use a pattern when starting a task
|
|
126
|
+
clawck start "Review auth module" --pattern code-review
|
|
127
|
+
|
|
128
|
+
# Add a custom pattern
|
|
129
|
+
clawck pattern add --name deploy --category code --project ops --tags deploy release
|
|
130
|
+
|
|
131
|
+
# Set a default pattern
|
|
132
|
+
clawck pattern use research
|
|
147
133
|
```
|
|
148
134
|
|
|
149
|
-
|
|
135
|
+
Patterns merge as defaults - any explicit flags you pass override the pattern's values.
|
|
136
|
+
|
|
137
|
+
## Approval Workflow
|
|
138
|
+
|
|
139
|
+
Entries can be approved for billing, invoicing, or quality control.
|
|
150
140
|
|
|
151
141
|
```bash
|
|
152
|
-
#
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
142
|
+
# Approve an entry (supports 8-char ID prefix)
|
|
143
|
+
clawck approve a1b2c3d4
|
|
144
|
+
|
|
145
|
+
# View only approved entries
|
|
146
|
+
clawck entries --approved
|
|
147
|
+
|
|
148
|
+
# View unapproved entries
|
|
149
|
+
clawck entries --unapproved
|
|
150
|
+
|
|
151
|
+
# Filter in list view too
|
|
152
|
+
clawck list --approved
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
The API also supports approval: `POST /api/entries/:id/approve`.
|
|
156
|
+
|
|
157
|
+
## Reports
|
|
158
|
+
|
|
159
|
+
### Terminal
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
clawck report # Last 7 days
|
|
163
|
+
clawck report --days 30 --detailed # With individual entries
|
|
164
|
+
clawck report --client acme-corp # Filter by client
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### HTML (interactive)
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
clawck report --format html -o report.html
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
The HTML report includes four tabs:
|
|
174
|
+
- **Calendar** - Color-coded day grid showing entry count and hours
|
|
175
|
+
- **Table** - Sortable table of all entries with full details
|
|
176
|
+
- **Gantt** - Timeline visualization of tasks grouped by date
|
|
177
|
+
- **CSV** - Copyable CSV data for spreadsheets
|
|
178
|
+
|
|
179
|
+
### PDF
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
clawck report --format pdf -o report.pdf
|
|
156
183
|
```
|
|
157
184
|
|
|
158
|
-
|
|
185
|
+
Professional timesheet PDF with summary stats, breakdowns by project/agent/category, and an entry details table.
|
|
159
186
|
|
|
160
187
|
## CLI Commands
|
|
161
188
|
|
|
162
189
|
```bash
|
|
163
|
-
|
|
164
|
-
clawck
|
|
165
|
-
clawck serve --port 8080
|
|
166
|
-
clawck mcp
|
|
190
|
+
# Setup
|
|
191
|
+
clawck init # Create .clawck/ directory with config
|
|
192
|
+
clawck serve [--port 8080] # Start API + dashboard
|
|
193
|
+
clawck mcp # Start MCP server on stdio
|
|
194
|
+
clawck seed [--count 50] # Generate test data
|
|
167
195
|
|
|
168
196
|
# Time tracking
|
|
169
|
-
clawck start <task>
|
|
170
|
-
clawck stop <id>
|
|
171
|
-
clawck log <task> --duration 30
|
|
197
|
+
clawck start <task> [--pattern <name>] # Start a timer
|
|
198
|
+
clawck stop <id> # Stop a timer
|
|
199
|
+
clawck log <task> --duration 30 # Log a completed task
|
|
172
200
|
|
|
173
201
|
# Viewing entries
|
|
174
|
-
clawck status
|
|
175
|
-
clawck list
|
|
176
|
-
clawck
|
|
177
|
-
clawck
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
clawck
|
|
182
|
-
clawck report --days 30 --detailed # With individual entries
|
|
183
|
-
clawck export --format csv --days 30 # Export as CSV (also: json)
|
|
202
|
+
clawck status # Show running tasks and stats
|
|
203
|
+
clawck list [--days 30] [--approved] # List entries in a table
|
|
204
|
+
clawck get <id> # Show a single entry
|
|
205
|
+
clawck entries [--status running] # Query with filters
|
|
206
|
+
|
|
207
|
+
# Reports and export
|
|
208
|
+
clawck report [--format terminal|pdf|html] [--output path]
|
|
209
|
+
clawck export [--format csv|json] [--days 30]
|
|
184
210
|
|
|
185
|
-
#
|
|
186
|
-
clawck
|
|
187
|
-
clawck
|
|
211
|
+
# Patterns
|
|
212
|
+
clawck pattern list # Show tracking patterns
|
|
213
|
+
clawck pattern add --name <n> [opts] # Add a custom pattern
|
|
214
|
+
clawck pattern use <name> # Set default pattern
|
|
188
215
|
|
|
189
|
-
#
|
|
190
|
-
clawck
|
|
216
|
+
# Approval
|
|
217
|
+
clawck approve <id> # Approve an entry
|
|
218
|
+
|
|
219
|
+
# Editing and deleting
|
|
220
|
+
clawck edit <id> --task "New name" # Edit fields
|
|
221
|
+
clawck delete <id> # Delete an entry (8-char prefix OK)
|
|
222
|
+
|
|
223
|
+
# Hooks
|
|
224
|
+
clawck hooks install <platform> # Show hook config for a platform
|
|
225
|
+
clawck hooks status # Check installed hooks
|
|
226
|
+
clawck setup [claude|mcp|openclaw] # Output integration snippets
|
|
191
227
|
|
|
192
228
|
# Global options
|
|
193
|
-
clawck --json <command>
|
|
229
|
+
clawck --json <command> # JSON output for scripting
|
|
230
|
+
clawck -d <path> <command> # Custom data directory
|
|
194
231
|
```
|
|
195
232
|
|
|
196
233
|
## Configuration
|
|
@@ -204,6 +241,8 @@ Edit `.clawck/config.json`:
|
|
|
204
241
|
"default_project": "general",
|
|
205
242
|
"default_agent": "cubi-01",
|
|
206
243
|
"default_model": "claude-sonnet-4-20250514",
|
|
244
|
+
"default_source": "clawck",
|
|
245
|
+
"default_pattern": "default",
|
|
207
246
|
"human_equivalents": {
|
|
208
247
|
"research": { "multiplier": 12, "human_rate_usd": 50 },
|
|
209
248
|
"content": { "multiplier": 10, "human_rate_usd": 45 },
|
|
@@ -215,11 +254,20 @@ Edit `.clawck/config.json`:
|
|
|
215
254
|
"planning": { "multiplier": 6, "human_rate_usd": 50 },
|
|
216
255
|
"communication": { "multiplier": 8, "human_rate_usd": 40 },
|
|
217
256
|
"other": { "multiplier": 8, "human_rate_usd": 50 }
|
|
218
|
-
}
|
|
257
|
+
},
|
|
258
|
+
"patterns": [
|
|
259
|
+
{ "name": "default", "description": "General task tracking", "category": "other" },
|
|
260
|
+
{ "name": "code-review", "description": "Code review and refactoring", "category": "code", "tags": ["review"] },
|
|
261
|
+
{ "name": "research", "description": "Research and analysis", "category": "research" },
|
|
262
|
+
{ "name": "content-creation", "description": "Content writing", "category": "content" },
|
|
263
|
+
{ "name": "testing", "description": "Writing and running tests", "category": "testing" }
|
|
264
|
+
],
|
|
265
|
+
"remote_sources": [],
|
|
266
|
+
"webhooks": []
|
|
219
267
|
}
|
|
220
268
|
```
|
|
221
269
|
|
|
222
|
-
|
|
270
|
+
Config is validated on load. Invalid values produce clear error messages.
|
|
223
271
|
|
|
224
272
|
## REST API
|
|
225
273
|
|
|
@@ -229,6 +277,7 @@ Clawck validates config on load. Invalid values (e.g., non-numeric port, malform
|
|
|
229
277
|
| `POST` | `/api/stop` | Stop a running task |
|
|
230
278
|
| `POST` | `/api/log` | Log a completed task retroactively |
|
|
231
279
|
| `PATCH` | `/api/entries/:id` | Update an entry |
|
|
280
|
+
| `POST` | `/api/entries/:id/approve` | Approve an entry |
|
|
232
281
|
| `GET` | `/api/entries` | Query entries (with filters) |
|
|
233
282
|
| `GET` | `/api/entries/:id` | Get a single entry |
|
|
234
283
|
| `GET` | `/api/running` | Get currently running tasks |
|
|
@@ -240,107 +289,106 @@ Clawck validates config on load. Invalid values (e.g., non-numeric port, malform
|
|
|
240
289
|
| `GET` | `/api/health` | Health check |
|
|
241
290
|
| `GET` | `/api/stats` | Quick stats |
|
|
242
291
|
|
|
292
|
+
## Multi-Agent Aggregation
|
|
293
|
+
|
|
294
|
+
Running agents across multiple machines? Clawck merges them:
|
|
295
|
+
|
|
296
|
+
**Pull mode** - central collector fetches from remote instances:
|
|
297
|
+
|
|
298
|
+
```json
|
|
299
|
+
{
|
|
300
|
+
"remote_sources": [
|
|
301
|
+
{ "name": "research-agent", "url": "http://cubi-01:3456/api/entries" },
|
|
302
|
+
{ "name": "writer-agent", "url": "http://cubi-02:3456/api/entries" }
|
|
303
|
+
],
|
|
304
|
+
"sync_interval": 60
|
|
305
|
+
}
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
**Push mode** - agents POST entries to a central instance:
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
curl -X POST http://central-clawck:3456/api/ingest \
|
|
312
|
+
-H "Content-Type: application/json" \
|
|
313
|
+
-d '[{"task": "...", "agent": "cubi-01", ...}]'
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
Entries merge by UUID - no conflicts, no duplicates.
|
|
317
|
+
|
|
243
318
|
## Architecture
|
|
244
319
|
|
|
245
320
|
```
|
|
246
321
|
clawck/
|
|
247
322
|
src/
|
|
248
|
-
core/
|
|
249
|
-
server/
|
|
250
|
-
dashboard/
|
|
251
|
-
|
|
252
|
-
|
|
323
|
+
core/ - Types, database (SQLite), entry manager, patterns
|
|
324
|
+
server/ - REST API (Express) + MCP server (stdio)
|
|
325
|
+
dashboard/ - Single-file HTML dashboard
|
|
326
|
+
reports/ - PDF and HTML report generators
|
|
327
|
+
cli/ - Command-line interface
|
|
328
|
+
hooks/ - Platform hook integrations
|
|
253
329
|
.clawck/
|
|
254
|
-
config.json
|
|
255
|
-
clawck.db
|
|
330
|
+
config.json - Your configuration
|
|
331
|
+
clawck.db - SQLite database (auto-created)
|
|
256
332
|
```
|
|
257
333
|
|
|
258
334
|
**Design principles:**
|
|
259
|
-
- **Zero
|
|
260
|
-
- **One process**
|
|
261
|
-
- **Append-first
|
|
262
|
-
- **UUID-based merging**
|
|
263
|
-
- **Configurable
|
|
264
|
-
|
|
265
|
-
## ClawckSpec v0.1
|
|
266
|
-
|
|
267
|
-
Clawck implements an open schema for agent work entries. Any tool can emit ClawckSpec-compatible entries:
|
|
268
|
-
|
|
269
|
-
```json
|
|
270
|
-
{
|
|
271
|
-
"id": "550e8400-e29b-41d4-a716-446655440000",
|
|
272
|
-
"agent": "cubi-research-01",
|
|
273
|
-
"model": "claude-sonnet-4-20250514",
|
|
274
|
-
"client": "acme-corp",
|
|
275
|
-
"project": "grant-research",
|
|
276
|
-
"task": "Find NEA grants matching sustainability criteria",
|
|
277
|
-
"category": "research",
|
|
278
|
-
"start": "2026-03-07T10:00:00Z",
|
|
279
|
-
"end": "2026-03-07T10:47:00Z",
|
|
280
|
-
"status": "completed",
|
|
281
|
-
"tokens_in": 12400,
|
|
282
|
-
"tokens_out": 3200,
|
|
283
|
-
"cost_usd": 0.0852,
|
|
284
|
-
"tool_calls": 8,
|
|
285
|
-
"summary": "Found 12 matching grants totaling $2.4M in available funding",
|
|
286
|
-
"tags": ["grants", "sustainability"],
|
|
287
|
-
"source": "clawck-mcp",
|
|
288
|
-
"spec_version": "0.1.0"
|
|
289
|
-
}
|
|
290
|
-
```
|
|
335
|
+
- **Zero infrastructure** - SQLite embedded, no Redis/Postgres/Docker needed
|
|
336
|
+
- **One process** - API, dashboard, and MCP all run from `clawck serve`
|
|
337
|
+
- **Append-first** - Entries are created and updated; deletion available via CLI
|
|
338
|
+
- **UUID-based merging** - Multi-agent data combines without conflicts
|
|
339
|
+
- **Configurable** - Human-equivalent multipliers are transparent and adjustable
|
|
291
340
|
|
|
292
341
|
## Integrations
|
|
293
342
|
|
|
294
|
-
|
|
295
|
-
Add to `~/.claude/mcp_servers.json`:
|
|
343
|
+
**Claude Code** - Add to `~/.claude/mcp_servers.json`:
|
|
296
344
|
```json
|
|
297
345
|
{ "clawck": { "command": "npx", "args": ["-y", "clawck", "mcp"] } }
|
|
298
346
|
```
|
|
299
347
|
|
|
300
|
-
|
|
301
|
-
Instrument at the harness level — auto-start/stop entries on task dispatch.
|
|
348
|
+
**Platform hooks** - Auto-track via `clawck hooks install claude|cursor|cline|windsurf|gemini|codex`
|
|
302
349
|
|
|
303
|
-
|
|
304
|
-
POST to `/api/start` and `/api/stop` from HTTP Request nodes.
|
|
350
|
+
**n8n** - POST to `/api/start` and `/api/stop` from HTTP Request nodes.
|
|
305
351
|
|
|
306
|
-
|
|
352
|
+
**Python frameworks (LangGraph, CrewAI, etc.):**
|
|
307
353
|
```python
|
|
308
354
|
import requests
|
|
309
|
-
|
|
310
|
-
# Start
|
|
311
|
-
r = requests.post("http://localhost:3456/api/start", json={
|
|
312
|
-
"task": "Analyze data", "project": "analytics", "agent": "my-agent"
|
|
313
|
-
})
|
|
355
|
+
r = requests.post("http://localhost:3456/api/start", json={"task": "Analyze data", "agent": "my-agent"})
|
|
314
356
|
entry_id = r.json()["id"]
|
|
315
|
-
|
|
316
|
-
# Stop
|
|
317
|
-
requests.post("http://localhost:3456/api/stop", json={
|
|
318
|
-
"id": entry_id, "status": "completed"
|
|
319
|
-
})
|
|
357
|
+
requests.post("http://localhost:3456/api/stop", json={"id": entry_id, "status": "completed"})
|
|
320
358
|
```
|
|
321
359
|
|
|
360
|
+
## Help / Troubleshooting
|
|
361
|
+
|
|
362
|
+
- `clawck --help` for CLI usage
|
|
363
|
+
- `clawck setup` for agent integration snippets
|
|
364
|
+
- `clawck hooks status` to check hook installations
|
|
365
|
+
- Data directory defaults to `.clawck/` in your working directory. Override with `-d <path>` or `CLAWCK_DIR` env var.
|
|
366
|
+
|
|
322
367
|
## Roadmap
|
|
323
368
|
|
|
369
|
+
- [x] PDF report export
|
|
370
|
+
- [x] Webhooks (task completion, failure, idle alerts)
|
|
371
|
+
- [x] Claude Code hooks adapter
|
|
372
|
+
- [x] Tracking patterns
|
|
373
|
+
- [x] Approval workflow
|
|
374
|
+
- [x] HTML interactive reports
|
|
324
375
|
- [ ] Python SDK (`pip install clawck`)
|
|
325
376
|
- [ ] Auto-instrumentation (monkey-patch LLM client libraries)
|
|
326
|
-
- [ ] PDF report export
|
|
327
377
|
- [ ] Email digest (weekly summary to clients)
|
|
328
|
-
- [ ] Webhooks (notify on task completion)
|
|
329
|
-
- [ ] Claude Code hooks adapter
|
|
330
378
|
- [ ] OpenTelemetry exporter
|
|
331
|
-
- [ ]
|
|
379
|
+
- [ ] Embeddable widget
|
|
332
380
|
|
|
333
381
|
## Contributing
|
|
334
382
|
|
|
335
383
|
Contributions welcome! Especially:
|
|
336
|
-
- **Adapters**
|
|
337
|
-
- **Dashboard**
|
|
338
|
-
- **Multipliers**
|
|
384
|
+
- **Adapters** - New framework integrations
|
|
385
|
+
- **Dashboard** - UI improvements and features
|
|
386
|
+
- **Multipliers** - Better human-equivalent estimates backed by data
|
|
339
387
|
|
|
340
388
|
## License
|
|
341
389
|
|
|
342
|
-
MIT
|
|
390
|
+
MIT
|
|
343
391
|
|
|
344
392
|
---
|
|
345
393
|
|
|
346
|
-
Built by [CubiCrew](https://cubicrew.com)
|
|
394
|
+
Built by [CubiCrew](https://cubicrew.com) - Created by [Vince Quarles](https://github.com/vincequarles)
|