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.
Files changed (77) hide show
  1. package/README.md +214 -166
  2. package/dist/cli/index.js +490 -53
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/core/clawck.d.ts +14 -3
  5. package/dist/core/clawck.d.ts.map +1 -1
  6. package/dist/core/clawck.js +41 -14
  7. package/dist/core/clawck.js.map +1 -1
  8. package/dist/core/database.d.ts +1 -0
  9. package/dist/core/database.d.ts.map +1 -1
  10. package/dist/core/database.js +26 -7
  11. package/dist/core/database.js.map +1 -1
  12. package/dist/core/patterns.d.ts +7 -0
  13. package/dist/core/patterns.d.ts.map +1 -0
  14. package/dist/core/patterns.js +36 -0
  15. package/dist/core/patterns.js.map +1 -0
  16. package/dist/core/types.d.ts +31 -0
  17. package/dist/core/types.d.ts.map +1 -1
  18. package/dist/core/types.js.map +1 -1
  19. package/dist/core/webhooks.d.ts +22 -0
  20. package/dist/core/webhooks.d.ts.map +1 -0
  21. package/dist/core/webhooks.js +70 -0
  22. package/dist/core/webhooks.js.map +1 -0
  23. package/dist/hooks/adapters.d.ts +8 -0
  24. package/dist/hooks/adapters.d.ts.map +1 -0
  25. package/dist/hooks/adapters.js +138 -0
  26. package/dist/hooks/adapters.js.map +1 -0
  27. package/dist/hooks/handler.d.ts +9 -0
  28. package/dist/hooks/handler.d.ts.map +1 -0
  29. package/dist/hooks/handler.js +90 -0
  30. package/dist/hooks/handler.js.map +1 -0
  31. package/dist/hooks/index.d.ts +10 -0
  32. package/dist/hooks/index.d.ts.map +1 -0
  33. package/dist/hooks/index.js +23 -0
  34. package/dist/hooks/index.js.map +1 -0
  35. package/dist/hooks/install.d.ts +16 -0
  36. package/dist/hooks/install.d.ts.map +1 -0
  37. package/dist/hooks/install.js +239 -0
  38. package/dist/hooks/install.js.map +1 -0
  39. package/dist/hooks/session.d.ts +10 -0
  40. package/dist/hooks/session.d.ts.map +1 -0
  41. package/dist/hooks/session.js +72 -0
  42. package/dist/hooks/session.js.map +1 -0
  43. package/dist/hooks/stdin.d.ts +6 -0
  44. package/dist/hooks/stdin.d.ts.map +1 -0
  45. package/dist/hooks/stdin.js +38 -0
  46. package/dist/hooks/stdin.js.map +1 -0
  47. package/dist/hooks/types.d.ts +23 -0
  48. package/dist/hooks/types.d.ts.map +1 -0
  49. package/dist/hooks/types.js +7 -0
  50. package/dist/hooks/types.js.map +1 -0
  51. package/dist/reports/html.d.ts +13 -0
  52. package/dist/reports/html.d.ts.map +1 -0
  53. package/dist/reports/html.js +321 -0
  54. package/dist/reports/html.js.map +1 -0
  55. package/dist/reports/pdf.d.ts +13 -0
  56. package/dist/reports/pdf.d.ts.map +1 -0
  57. package/dist/reports/pdf.js +169 -0
  58. package/dist/reports/pdf.js.map +1 -0
  59. package/dist/server/api.d.ts.map +1 -1
  60. package/dist/server/api.js +16 -0
  61. package/dist/server/api.js.map +1 -1
  62. package/dist/server/mcp.d.ts.map +1 -1
  63. package/dist/server/mcp.js +30 -9
  64. package/dist/server/mcp.js.map +1 -1
  65. package/docs/skills/clawck-setup.md +131 -0
  66. package/docs/skills/clawck-usage.md +148 -0
  67. package/docs/snippets/claude-md.txt +24 -0
  68. package/docs/snippets/hooks-claude.json +16 -0
  69. package/docs/snippets/hooks-cline.txt +10 -0
  70. package/docs/snippets/hooks-codex.json +16 -0
  71. package/docs/snippets/hooks-cursor.json +16 -0
  72. package/docs/snippets/hooks-gemini.json +16 -0
  73. package/docs/snippets/hooks-windsurf.json +16 -0
  74. package/docs/snippets/mcp-config.json +7 -0
  75. package/docs/snippets/openclaw-agent-md.txt +18 -0
  76. package/docs/snippets/openclaw-heartbeat-md.txt +17 -0
  77. package/package.json +4 -2
@@ -45,14 +45,14 @@ const readline = __importStar(require("readline"));
45
45
  const TOOLS = [
46
46
  {
47
47
  name: 'clawck_start_task',
48
- description: 'Start tracking time for a new task. Call this when beginning work on a task, project, or client deliverable. Returns the entry ID needed to stop the timer later.',
48
+ description: 'Clock yourself in — start tracking YOUR (the AI agent\'s) time on a task. Call this when you begin generating, reasoning, writing code, or taking actions for a task. Returns the entry ID needed to clock out later.',
49
49
  inputSchema: {
50
50
  type: 'object',
51
51
  properties: {
52
- task: { type: 'string', description: 'What work is being done (e.g., "Research grant opportunities for NEA funding")' },
52
+ task: { type: 'string', description: 'What you (the AI agent) are working on (e.g., "Research grant opportunities for NEA funding")' },
53
53
  project: { type: 'string', description: 'Project name (e.g., "grant-research", "website-rebuild")' },
54
54
  client: { type: 'string', description: 'Client name (e.g., "acme-corp")' },
55
- category: { type: 'string', enum: types_1.TASK_CATEGORIES, description: 'Type of work for human-equivalent time estimates' },
55
+ category: { type: 'string', enum: types_1.TASK_CATEGORIES, description: 'Type of work used to estimate how long a human would take to do the same task' },
56
56
  agent: { type: 'string', description: 'Agent name/identifier' },
57
57
  model: { type: 'string', description: 'Model being used (e.g., "claude-sonnet-4-20250514")' },
58
58
  tags: { type: 'array', items: { type: 'string' }, description: 'Optional tags for filtering' },
@@ -62,7 +62,7 @@ const TOOLS = [
62
62
  },
63
63
  {
64
64
  name: 'clawck_stop_task',
65
- description: 'Stop tracking time for a task. Call this when finished with a task. Provide the entry ID from clawck_start_task.',
65
+ description: 'Clock yourself out — stop tracking YOUR (the AI agent\'s) time on a task. Call this when you finish generating your response, complete your actions, or are done with the task. Provide the entry ID from clawck_start_task.',
66
66
  inputSchema: {
67
67
  type: 'object',
68
68
  properties: {
@@ -79,12 +79,12 @@ const TOOLS = [
79
79
  },
80
80
  {
81
81
  name: 'clawck_log_task',
82
- description: 'Log a completed task retroactively (when you forgot to start the timer). Provide the duration and details.',
82
+ description: 'Log your own completed work retroactively — use when you (the AI agent) did work but forgot to call clawck_start_task beforehand. Provide the duration of your computation/actions and details.',
83
83
  inputSchema: {
84
84
  type: 'object',
85
85
  properties: {
86
- task: { type: 'string', description: 'What work was done' },
87
- duration_minutes: { type: 'number', description: 'How long the task took in minutes' },
86
+ task: { type: 'string', description: 'What you (the AI agent) did' },
87
+ duration_minutes: { type: 'number', description: 'How long your (the AI agent\'s) work took in minutes' },
88
88
  project: { type: 'string', description: 'Project name' },
89
89
  client: { type: 'string', description: 'Client name' },
90
90
  category: { type: 'string', enum: types_1.TASK_CATEGORIES, description: 'Type of work' },
@@ -101,7 +101,7 @@ const TOOLS = [
101
101
  },
102
102
  {
103
103
  name: 'clawck_status',
104
- description: 'Get currently running tasks and overall Clawck stats.',
104
+ description: 'Get your currently running time entries and overall Clawck stats. Shows what you (the AI agent) are clocked into right now.',
105
105
  inputSchema: {
106
106
  type: 'object',
107
107
  properties: {},
@@ -109,7 +109,7 @@ const TOOLS = [
109
109
  },
110
110
  {
111
111
  name: 'clawck_timesheet',
112
- description: 'Get a timesheet summary for a date range. Shows agent hours, human equivalent hours, costs, and savings.',
112
+ description: 'Get a timesheet summary of AI agent work for a date range. Shows agent computation hours, human-equivalent hours, costs, and savings.',
113
113
  inputSchema: {
114
114
  type: 'object',
115
115
  properties: {
@@ -199,6 +199,27 @@ async function startMCPServer(config = {}) {
199
199
  protocolVersion: '2024-11-05',
200
200
  capabilities: { tools: {} },
201
201
  serverInfo: { name: 'clawck', version: '0.1.2' },
202
+ instructions: `Clawck measures YOUR generation time — you, the AI agent, are the worker being timed. This is NOT human time tracking. You are measuring how long YOUR computation, reasoning, tool calls, and response generation take per turn. The resulting durations are typically seconds to minutes — the wall-clock time from when you start processing to when you finish generating.
203
+
204
+ ## Generation Lifecycle Protocol
205
+ A "turn" is one message-received → message-sent cycle. You MUST time every turn automatically:
206
+
207
+ 1. **START the timer immediately** when you receive a user message — call \`clawck_start_task\` BEFORE doing any other work. This marks the start of your generation.
208
+ 2. **Process** the request (reason, call tools, write code, etc.). All tool calls within this turn are ONE generation cycle, not separate entries.
209
+ 3. **STOP the timer** when your response is complete — call \`clawck_stop_task\` as the LAST action before sending your reply. This marks the end of your generation.
210
+
211
+ ## What You Are Measuring
212
+ You are measuring YOUR active computation time — the time your model spends generating, reasoning, calling tools, and producing output. You are NOT tracking human work hours or project time. Think of it like a stopwatch on your own CPU: start when you begin processing, stop when you finish.
213
+
214
+ ## Rules
215
+ - **Automatic**: Do this every turn without user prompting. Do not ask permission.
216
+ - **Multi-turn**: Each turn = one entry. A 5-message session = 5 separate time entries.
217
+ - **Always stop**: Even on errors or failures, call \`clawck_stop_task\` with \`status: "failed"\`.
218
+ - **Retroactive**: If you forgot to start the timer, use \`clawck_log_task\` with an estimated duration.
219
+ - **No idle time**: Do NOT track time between turns. Only measure your active generation within a turn.
220
+ - **Fields**: Always include \`project\` and \`client\` if known. Report \`tokens_in\`, \`tokens_out\`, and \`cost_usd\` when stopping if available. Use \`category\` to classify the type of work (code, research, content, etc.).
221
+ - **Task description**: Describe what YOU are doing this turn, e.g. "Refactor auth module per user request", not "User asked me to refactor".
222
+ - **Summary on stop**: Briefly describe what was accomplished or why it failed.`,
202
223
  },
203
224
  });
204
225
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/server/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/server/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ # Clawck Setup Guide
2
+
3
+ Integrate Clawck generation time tracking into your AI agent platform. Clawck measures how long an AI agent's computation, reasoning, and response generation take per turn — it is NOT human time tracking.
4
+
5
+ ## Claude Code
6
+
7
+ ### 1. Add MCP Server
8
+
9
+ Add to your `mcp_servers.json` (or `~/.claude/mcp_servers.json` for global):
10
+
11
+ ```json
12
+ {
13
+ "clawck": {
14
+ "command": "npx",
15
+ "args": ["-y", "clawck", "mcp"],
16
+ "env": {}
17
+ }
18
+ }
19
+ ```
20
+
21
+ ### 2. Add CLAUDE.md Instructions
22
+
23
+ Add the following to your project's `CLAUDE.md` (or `~/.claude/CLAUDE.md` for global):
24
+
25
+ ```markdown
26
+ ## Generation Time Tracking (Clawck)
27
+
28
+ You have Clawck tools via MCP that measure YOUR generation time — how long your computation, reasoning, tool calls, and response generation take. This is NOT human time tracking. You are timing your own AI processing.
29
+
30
+ You MUST time every turn automatically:
31
+
32
+ 1. **Start of every turn**: Call `clawck_start_task` IMMEDIATELY when you receive a message, BEFORE doing any other work.
33
+ 2. **End of every turn**: Call `clawck_stop_task` as the LAST action before sending your reply.
34
+ 3. **Every turn**: Each user message = one generation cycle. A 5-message conversation = 5 time entries.
35
+ 4. **Errors**: Always stop the timer even on failure — use `status: "failed"`.
36
+ 5. **Forgot to start?** Use `clawck_log_task` with an estimated duration.
37
+ ```
38
+
39
+ Run `clawck setup claude` to get the full snippet.
40
+
41
+ ## OpenClaw
42
+
43
+ OpenClaw agents use behavioral files for persistent integration:
44
+
45
+ ### AGENT.md
46
+
47
+ Add clawck rules to your `AGENT.md`. Run `clawck setup openclaw` for the snippet.
48
+
49
+ ### HEARTBEAT.md
50
+
51
+ Add per-turn hooks to your `HEARTBEAT.md`. Run `clawck setup openclaw` for the snippet.
52
+
53
+ ### SOUL.md
54
+
55
+ Add accountability identity to your `SOUL.md`:
56
+
57
+ ```markdown
58
+ I track my own work time using Clawck. Every turn I clock in and out automatically.
59
+ This is part of my accountability to the humans I work for — they deserve to know
60
+ how their AI resources are being spent.
61
+ ```
62
+
63
+ ## Cursor / Cline / Windsurf
64
+
65
+ These editors support MCP servers. Add the clawck MCP config to:
66
+
67
+ - **Cursor**: `.cursor/mcp.json` in your project root
68
+ - **Cline**: VS Code settings → Cline → MCP Servers
69
+ - **Windsurf**: `.windsurf/mcp.json` in your project root
70
+
71
+ The MCP config block is the same for all:
72
+
73
+ ```json
74
+ {
75
+ "clawck": {
76
+ "command": "npx",
77
+ "args": ["-y", "clawck", "mcp"],
78
+ "env": {}
79
+ }
80
+ }
81
+ ```
82
+
83
+ ## API Agents (Python / n8n / LangGraph)
84
+
85
+ For agents that don't support MCP natively, use the Clawck REST API:
86
+
87
+ ### Start the server
88
+
89
+ ```bash
90
+ clawck serve --port 3456
91
+ ```
92
+
93
+ ### Python wrapper
94
+
95
+ ```python
96
+ import requests
97
+ import time
98
+
99
+ CLAWCK_URL = "http://localhost:3456/api"
100
+
101
+ def clawck_start(task, project="", client="", category="code"):
102
+ r = requests.post(f"{CLAWCK_URL}/start", json={
103
+ "task": task, "project": project, "client": client, "category": category
104
+ })
105
+ return r.json()["id"]
106
+
107
+ def clawck_stop(entry_id, status="completed", summary=""):
108
+ requests.post(f"{CLAWCK_URL}/stop", json={
109
+ "id": entry_id, "status": status, "summary": summary
110
+ })
111
+ ```
112
+
113
+ ### n8n / LangGraph
114
+
115
+ Use HTTP Request nodes to call the REST API at `http://localhost:3456/api/start` and `/api/stop` at the beginning and end of each agent turn.
116
+
117
+ ## Quick Start CLI
118
+
119
+ ```bash
120
+ # See all setup options
121
+ clawck setup
122
+
123
+ # Get CLAUDE.md snippet
124
+ clawck setup claude
125
+
126
+ # Get MCP config JSON
127
+ clawck setup mcp
128
+
129
+ # Get OpenClaw snippets
130
+ clawck setup openclaw
131
+ ```
@@ -0,0 +1,148 @@
1
+ # Clawck Usage Protocol
2
+
3
+ Detailed guide for AI agents using Clawck to measure their own generation time.
4
+
5
+ ## What Clawck Measures
6
+
7
+ Clawck measures **your active generation/computation time** — the wall-clock duration from when you start processing a user message to when you finish generating your response. This is NOT human time tracking. Typical durations are seconds to minutes. Think of it as a stopwatch on your own CPU.
8
+
9
+ The resulting data enables:
10
+ - **Billing**: How much compute time each task consumed
11
+ - **Cost analysis**: Tokens + cost per task/project/client
12
+ - **Human-equivalent estimates**: How long this work would take a human (calculated from the `category`)
13
+ - **ROI reporting**: Agent cost vs. human-equivalent cost
14
+
15
+ ## Generation Lifecycle
16
+
17
+ Every agent turn follows this lifecycle:
18
+
19
+ ```
20
+ User message received
21
+
22
+
23
+ ┌─ clawck_start_task ──────────┐
24
+ │ (start generation timer) │
25
+ └──────────────────────────────┘
26
+
27
+
28
+ ┌─ Process request ────────────┐
29
+ │ • Reason / plan │
30
+ │ • Call tools │
31
+ │ • Write code │
32
+ │ • Generate output │
33
+ │ (all ONE generation cycle) │
34
+ └──────────────────────────────┘
35
+
36
+
37
+ ┌─ clawck_stop_task ───────────┐
38
+ │ (stop generation timer) │
39
+ └──────────────────────────────┘
40
+
41
+
42
+ Send response to user
43
+ ```
44
+
45
+ ## Multi-Message Tracking
46
+
47
+ Each turn in a conversation is timed independently:
48
+
49
+ | Turn | User Says | Agent Times |
50
+ |------|-----------|-------------|
51
+ | 1 | "Fix the login bug" | start → generate → stop (entry 1) |
52
+ | 2 | "Add tests for it" | start → generate → stop (entry 2) |
53
+ | 3 | "Deploy to staging" | start → generate → stop (entry 3) |
54
+
55
+ A 5-message session produces 5 time entries. This gives granular visibility into what each generation cycle cost.
56
+
57
+ ## Field Guidelines
58
+
59
+ ### task
60
+ Describe what YOU (the agent) are doing, not what the user asked:
61
+ - Good: "Refactor auth module to use JWT tokens"
62
+ - Bad: "User asked me to fix authentication"
63
+
64
+ ### project
65
+ The project being worked on. Infer from context, directory name, or ask once and reuse:
66
+ - "website-rebuild", "grant-research", "api-v2"
67
+
68
+ ### client
69
+ The client or organization. Infer from context or prior entries:
70
+ - "acme-corp", "internal", "cubicrew"
71
+
72
+ ### category
73
+ Classify the type of work. Available categories:
74
+ - `code` — Writing, reviewing, or refactoring code
75
+ - `research` — Searching, reading, analyzing information
76
+ - `content` — Writing docs, emails, copy, blog posts
77
+ - `analysis` — Data analysis, reporting, insights
78
+ - `data_entry` — Data migration, formatting, entry
79
+ - `communication` — Emails, messages, outreach
80
+ - `testing` — Writing or running tests
81
+ - `design` — UI/UX design, mockups, wireframes
82
+
83
+ ### summary (on stop)
84
+ Brief description of what was accomplished:
85
+ - "Fixed JWT token refresh logic and added error handling"
86
+ - "Searched 3 grant databases, found 2 relevant opportunities"
87
+
88
+ ### tokens / cost (on stop)
89
+ Report if your platform provides this data:
90
+ - `tokens_in`: Input tokens consumed this turn
91
+ - `tokens_out`: Output tokens generated this turn
92
+ - `cost_usd`: Estimated cost in USD
93
+
94
+ ## Edge Cases
95
+
96
+ ### Errors / Failures
97
+ Always stop the timer even when things go wrong:
98
+ ```
99
+ clawck_stop_task({ id: "...", status: "failed", summary: "Build failed due to missing dependency" })
100
+ ```
101
+
102
+ ### Forgot to Start the Timer
103
+ Use retroactive logging:
104
+ ```
105
+ clawck_log_task({ task: "Debug API timeout", duration_minutes: 3, project: "api-v2", category: "code" })
106
+ ```
107
+
108
+ ### Long Generations
109
+ If a turn takes unusually long (e.g., large codebase analysis), that's fine — one turn = one entry regardless of duration.
110
+
111
+ ### Idle Time Between Turns
112
+ Do NOT track time between turns. Only measure your active generation time within a turn. The time between your response and the user's next message is NOT your computation — don't record it.
113
+
114
+ ### Sub-Tasks Within a Turn
115
+ All work within one turn is a single entry. If you call 10 tools during one turn, that's still ONE generation cycle. Don't create separate entries for each tool call.
116
+
117
+ ## Examples
118
+
119
+ ### Basic Turn
120
+ ```
121
+ 1. Receive: "Add input validation to the signup form"
122
+ 2. clawck_start_task({ task: "Add input validation to signup form", project: "website", client: "acme-corp", category: "code" })
123
+ → Timer starts. Your generation begins.
124
+ 3. Read files, write code, run tests
125
+ 4. clawck_stop_task({ id: "abc-123", status: "completed", summary: "Added email format and password strength validation", tokens_out: 1500 })
126
+ → Timer stops. Your generation is complete.
127
+ 5. Send response
128
+ ```
129
+
130
+ ### Failed Task
131
+ ```
132
+ 1. Receive: "Deploy to production"
133
+ 2. clawck_start_task({ task: "Deploy to production", project: "api-v2", client: "acme-corp", category: "code" })
134
+ 3. Attempt deployment, encounter error
135
+ 4. clawck_stop_task({ id: "def-456", status: "failed", summary: "Deploy failed: missing ENV vars on production server" })
136
+ 5. Send error response to user
137
+ ```
138
+
139
+ ### Retroactive Log
140
+ ```
141
+ 1. Receive: "What was that error about?"
142
+ 2. Realize forgot to start timer on previous turn
143
+ 3. clawck_log_task({ task: "Diagnosed API timeout in payment service", duration_minutes: 2, project: "api-v2", category: "code" })
144
+ 4. clawck_start_task({ task: "Explain previous API timeout diagnosis", project: "api-v2", category: "communication" })
145
+ 5. Explain the error
146
+ 6. clawck_stop_task({ id: "ghi-789", status: "completed", summary: "Explained root cause of API timeout to user" })
147
+ 7. Send response
148
+ ```
@@ -0,0 +1,24 @@
1
+ ## Generation Time Tracking (Clawck)
2
+
3
+ You have Clawck time tracking tools via MCP. Clawck measures YOUR generation time — how long your computation, reasoning, tool calls, and response generation take. This is NOT human time tracking. You are timing your own AI processing, like a stopwatch on your own CPU.
4
+
5
+ You MUST time every turn automatically:
6
+
7
+ 1. **Start of every turn**: Call `clawck_start_task` IMMEDIATELY when you receive a message, BEFORE doing any other work. This marks the start of your generation.
8
+ 2. **End of every turn**: Call `clawck_stop_task` as the LAST action before sending your reply. This marks the end of your generation.
9
+ 3. **Every turn**: Each user message = one generation cycle. A 5-message conversation = 5 time entries.
10
+ 4. **Errors**: Always stop the timer even on failure — use `status: "failed"`.
11
+ 5. **Forgot to start?** Use `clawck_log_task` with an estimated duration.
12
+
13
+ ### Field Guidelines
14
+ - `task`: Describe what YOU are doing (e.g., "Refactor auth module"), not what the user asked.
15
+ - `project` / `client`: Include if known from context or previous entries.
16
+ - `category`: Classify the work type (code, research, content, analysis, etc.).
17
+ - `summary`: Brief description of what was accomplished when stopping.
18
+ - `tokens_in` / `tokens_out` / `cost_usd`: Report if available.
19
+
20
+ ### Important
21
+ - Do NOT ask the user for permission to track. Just do it.
22
+ - All tool calls within one turn are ONE generation cycle, not separate entries.
23
+ - Do NOT skip tracking on "simple" turns — time everything.
24
+ - Do NOT track time between turns — only measure your active generation.
@@ -0,0 +1,16 @@
1
+ {
2
+ "hooks": {
3
+ "UserPromptSubmit": [
4
+ {
5
+ "type": "command",
6
+ "command": "clawck hook start"
7
+ }
8
+ ],
9
+ "Stop": [
10
+ {
11
+ "type": "command",
12
+ "command": "clawck hook stop"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,10 @@
1
+ # Cline Hook Scripts
2
+ # Place these as executable scripts in .clinerules/hooks/
3
+
4
+ # --- .clinerules/hooks/TaskStart ---
5
+ #!/bin/bash
6
+ clawck hook start
7
+
8
+ # --- .clinerules/hooks/PostToolUse ---
9
+ #!/bin/bash
10
+ clawck hook stop
@@ -0,0 +1,16 @@
1
+ {
2
+ "hooks": {
3
+ "turn-start": [
4
+ {
5
+ "type": "command",
6
+ "command": "clawck hook start"
7
+ }
8
+ ],
9
+ "agent-turn-complete": [
10
+ {
11
+ "type": "command",
12
+ "command": "clawck hook stop"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "hooks": {
3
+ "pre_user_prompt": [
4
+ {
5
+ "type": "command",
6
+ "command": "clawck hook start"
7
+ }
8
+ ],
9
+ "stop": [
10
+ {
11
+ "type": "command",
12
+ "command": "clawck hook stop"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "hooks": {
3
+ "BeforeAgent": [
4
+ {
5
+ "type": "command",
6
+ "command": "clawck hook start"
7
+ }
8
+ ],
9
+ "AfterAgent": [
10
+ {
11
+ "type": "command",
12
+ "command": "clawck hook stop"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "hooks": {
3
+ "pre_user_prompt": [
4
+ {
5
+ "type": "command",
6
+ "command": "clawck hook start"
7
+ }
8
+ ],
9
+ "post_agent": [
10
+ {
11
+ "type": "command",
12
+ "command": "clawck hook stop"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "clawck": {
3
+ "command": "npx",
4
+ "args": ["-y", "clawck", "mcp"],
5
+ "env": {}
6
+ }
7
+ }
@@ -0,0 +1,18 @@
1
+ ## Generation Time Tracking (Clawck)
2
+
3
+ You are responsible for measuring your own generation time using Clawck MCP tools. This is NOT human time tracking — you are timing how long YOUR computation, reasoning, and response generation take per turn. Think of it as a stopwatch on your own processing.
4
+
5
+ ### Rules
6
+ - Start the timer (`clawck_start_task`) at the START of every generation turn.
7
+ - Stop the timer (`clawck_stop_task`) at the END of every generation turn.
8
+ - One turn = one time entry. Multiple tool calls within a turn are one generation cycle.
9
+ - Always stop the timer on failure with `status: "failed"`.
10
+ - If you forgot to start the timer, use `clawck_log_task` with an estimated duration.
11
+ - Never skip timing. Never ask permission. Never track idle time between turns.
12
+
13
+ ### Fields
14
+ - `task`: What you are doing this turn.
15
+ - `project` / `client`: From context or prior entries.
16
+ - `category`: code | research | content | analysis | data_entry | communication | testing | design
17
+ - `summary`: What was accomplished (on stop).
18
+ - Token counts and cost if available.
@@ -0,0 +1,17 @@
1
+ ## Per-Turn Generation Timing (Clawck)
2
+
3
+ ### On Message Received
4
+ 1. Call `clawck_start_task` with task description, project, client, and category.
5
+ 2. Store the returned entry ID for stopping the timer later.
6
+ 3. This marks the START of your generation — the moment you begin processing.
7
+
8
+ ### On Response Complete
9
+ 1. Call `clawck_stop_task` with the entry ID, status, summary, and token/cost data.
10
+ 2. This marks the END of your generation — the moment you finish producing output.
11
+ 3. This MUST happen even if the turn resulted in an error.
12
+
13
+ ### On Error
14
+ 1. Call `clawck_stop_task` with `status: "failed"` and a summary of what went wrong.
15
+
16
+ ### Missed Timer Start
17
+ 1. Call `clawck_log_task` with estimated `duration_minutes` and task details.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawck",
3
- "version": "0.1.3",
3
+ "version": "0.3.0",
4
4
  "description": "⏱️🦀 Time tracking for AI agents. Toggl for the agentic era.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,8 +38,8 @@
38
38
  "homepage": "https://clawck.dev",
39
39
  "dependencies": {
40
40
  "better-sqlite3": "^12.6.2",
41
- "chalk": "^5.3.0",
42
41
  "commander": "^12.0.0",
42
+ "pdfkit": "^0.15.0",
43
43
  "cors": "^2.8.5",
44
44
  "express": "^4.21.0",
45
45
  "uuid": "^10.0.0"
@@ -49,6 +49,7 @@
49
49
  "@types/cors": "^2.8.0",
50
50
  "@types/express": "^4.17.0",
51
51
  "@types/node": "^22.0.0",
52
+ "@types/pdfkit": "^0.13.0",
52
53
  "@types/supertest": "^7.2.0",
53
54
  "@types/uuid": "^10.0.0",
54
55
  "supertest": "^7.2.2",
@@ -61,6 +62,7 @@
61
62
  },
62
63
  "files": [
63
64
  "dist/",
65
+ "docs/",
64
66
  "README.md",
65
67
  "LICENSE"
66
68
  ]