@dreamorosi/agent-timekeeper-claude-code 0.0.0-stage → 0.2.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.
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "agent-timekeeper",
3
+ "version": "0.2.0",
4
+ "description": "Claude Code plugin for Agent Timekeeper: records Sessions, Runs, tool calls and Interactions as Signals, and uploads them to your own endpoint",
5
+ "author": {
6
+ "name": "Andrea Amorosi"
7
+ },
8
+ "license": "Apache-2.0"
9
+ }
package/README.md CHANGED
@@ -1,3 +1,48 @@
1
- # Temporary Holding Version
1
+ # @dreamorosi/agent-timekeeper-claude-code
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ A [Claude Code](https://code.claude.com) plugin for Agent Timekeeper. It records how you and your coding agents spend time in Claude Code: Sessions, Runs, model steps with their tokens and cost, tool calls, skills, subagents, and your Interactions (prompts and aborts). It uploads them to an ingestion endpoint you run yourself.
4
+
5
+ It never records prompt or answer text, tool output, or more than the first two words of a shell command.
6
+
7
+ ## Install
8
+
9
+ ```sh
10
+ claude plugin install agent-timekeeper --marketplace dreamorosi/agent-timekeeper
11
+ ```
12
+
13
+ Install it at user scope, so it loads in every session. The marketplace is this repository, so the Machine needs read access to it, the same as `git clone` would. To update after a release:
14
+
15
+ ```sh
16
+ claude plugin update agent-timekeeper
17
+ ```
18
+
19
+ It needs Claude Code 2.1.287 or later. Plugins don't load under `--safe-mode`, `--bare`, `disableAllHooks` or organization policies that block them.
20
+
21
+ ## Configure
22
+
23
+ The plugin shares its config with the OpenCode plugin. Create `~/.config/agent-timekeeper/config.json`, readable by you only:
24
+
25
+ ```sh
26
+ mkdir -p ~/.config/agent-timekeeper
27
+ cat > ~/.config/agent-timekeeper/config.json <<'EOF'
28
+ {
29
+ "endpoint": "https://timekeeper.example.com/v1/signals",
30
+ "token": "<the endpoint's bearer token>"
31
+ }
32
+ EOF
33
+ chmod 600 ~/.config/agent-timekeeper/config.json
34
+ ```
35
+
36
+ The Machine is named after its hostname. Add `"machineId": "laptop"` to name it yourself.
37
+
38
+ Until the config exists, Signals wait in `~/.local/state/agent-timekeeper/spool/`, and nothing is lost. The token is never read from a file other users can read.
39
+
40
+ ## Uploads
41
+
42
+ The plugin uploads while a Claude Code session is open, about once a minute, and once more when the session ends. Whatever is left waits for the next session. On a Machine that also runs the OpenCode plugin, both drain the same spool, and no Signal is sent twice.
43
+
44
+ Headless sessions (`claude -p`, the Agent SDK) are recorded too, marked as not interactive.
45
+
46
+ ## Status
47
+
48
+ The plugin is silent while everything works. If the config is missing, the token is rejected, nothing has uploaded for a day, or the endpoint rejected some Signals, a toast says what's wrong and how to fix it, at most once a day. Run `/timekeeper` for the current status. It never shows the token.
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Records Sessions, Runs, steps, tool calls and Interactions as Signals, and uploads them",
3
+ "modules": [
4
+ "./register.js"
5
+ ]
6
+ }