You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
# Repository Guidelines
2
2
3
3
## Project Identity
4
-
This repo is the ShellTime CLI and daemon. Public-facing docs, command examples, and product references should use `ShellTime` and `shelltime.xyz`.
4
+
This repo is the ShellTime CLI and daemon. Use `ShellTime` and `shelltime.xyz` in public-facing docs, command examples, and product references.
5
5
6
-
Code and imports currently use the module path `github.com/malamtime/cli`. Do not "fix" ShellTime branding in docs just because the module path says `malamtime`; the mismatch is intentional in the current repo state.
6
+
Code and imports use the module path `github.com/malamtime/cli`. This mismatch is intentional — don't "fix" the ShellTime branding in docs just because the module path says `malamtime`.
7
7
8
8
## Project Structure & Package Boundaries
9
9
This is a Go monorepo for the ShellTime CLI and daemon.
@@ -50,7 +50,7 @@ Use standard Go conventions and keep code `gofmt`-clean.
50
50
- Ensure `go test -timeout 3m -coverprofile=coverage.txt -covermode=atomic ./...` passes before opening a PR or cutting a release
51
51
52
52
## Documentation Maintenance
53
-
When command behavior, setup flow, config formats, or integrations change, update the docs in the same change.
53
+
When command behavior, the setup flow, config formats, or integrations change, update the docs in the same commit.
54
54
55
55
-`README.md`: concise user-facing overview, install/setup flow, current command surface, and links
56
56
-`docs/CONFIG.md`: detailed config semantics, file locations, defaults, and OTEL settings
ShellTime is a CLI and background daemon for tracking shell activity, syncing command history, and wiring AI coding tools into a shared telemetry stream. The public product and hosted service are ShellTime at [shelltime.xyz](https://shelltime.xyz).
7
-
8
-
The Go module path is `github.com/malamtime/cli`. That naming mismatch is intentional in this repo today; use `ShellTime` for product-facing docs and `github.com/malamtime/cli` for imports and module references.
6
+
ShellTime is a CLI and background daemon that tracks your shell activity, syncs your command history, and pipes your AI coding tools into one shared telemetry stream. The hosted service lives at [shelltime.xyz](https://shelltime.xyz).
If you installed with the curl script, upgrade in place:
27
25
28
26
```bash
29
27
shelltime update
30
28
```
31
29
32
-
Homebrew users should upgrade via brew:
30
+
If you installed with Homebrew, upgrade through brew instead:
33
31
34
32
```bash
35
33
brew upgrade shelltime/tap/shelltime
36
34
```
37
35
38
36
## Quick Start
39
37
40
-
The fastest setup path is:
38
+
The fastest way to get set up is a single command:
41
39
42
40
```bash
43
41
shelltime init
44
42
```
45
43
46
-
`shelltime init` authenticates the CLI, installs shell hooks, installs the daemon, and attempts to configure Claude Code and Codex OTEL integration.
44
+
`shelltime init` authenticates the CLI, installs the shell hooks and daemon, and tries to wire up Claude Code and Codex OTEL integration for you.
47
45
48
-
If you prefer the manual flow:
46
+
Prefer to do it step by step?
49
47
50
48
```bash
51
49
shelltime auth
@@ -57,11 +55,11 @@ shelltime codex install
57
55
58
56
## What ShellTime Does
59
57
60
-
- Tracks shell commands locally with masking and exclusion support.
61
-
- Syncs command history to ShellTime for search and analysis.
58
+
- Tracks shell commands locally, with masking and exclusion rules to keep secrets out.
59
+
- Syncs your command history to ShellTime so you can search and analyze it.
62
60
- Runs a background daemon for low-latency, non-blocking sync.
63
-
-Integrates with Claude Code and OpenAI Codex through OTEL forwarding.
64
-
- Shows live Claude Code statusline data for cost, quota, time, and context.
61
+
-Forwards Claude Code and OpenAI Codex telemetry through OTEL.
62
+
- Shows a live Claude Code statusline with cost, quota, time, and context usage.
65
63
- Syncs supported dotfiles to and from the ShellTime service.
66
64
67
65
## Command Overview
@@ -142,18 +140,18 @@ exclude:
142
140
- "^export .*"
143
141
```
144
142
145
-
For the full configuration surface, defaults, OTEL settings, and AI options, see [docs/CONFIG.md](docs/CONFIG.md).
143
+
For every option, its default, and the OTEL and AI settings, see [docs/CONFIG.md](docs/CONFIG.md).
146
144
147
145
## Daemon Mode
148
146
149
-
The daemon keeps tracking fast by buffering and syncing in the background.
147
+
The daemon keeps your shell fast by buffering commands and syncing them in the background, so a slow network never blocks your prompt.
150
148
151
-
| Mode | Latency | Network Blocking |
152
-
|------|---------|------------------|
149
+
| Mode | Latency | Blocks your shell? |
150
+
|------|---------|--------------------|
153
151
| Direct | ~100ms+ | Yes |
154
152
| Daemon | <8ms | No |
155
153
156
-
Use daemon mode if you want lower shell latency, retry handling, and background processing for sync and OTEL events.
154
+
Run in daemon mode for lower shell latency, automatic sync retries, and background processing of sync and OTEL events. It is optional but recommended.
157
155
158
156
## Claude Code Statusline
159
157
@@ -180,10 +178,10 @@ For formatting details and platform notes, see [docs/CC_STATUSLINE.md](docs/CC_S
180
178
181
179
## Security and Privacy
182
180
183
-
- Data masking can redact sensitive command content before upload.
184
-
- Exclusion patterns let you skip matching commands entirely.
185
-
- Optional end-to-end encryption is available for supported flows.
186
-
- Local config overrides can keep sensitive values out of the primary config file.
181
+
- **Data masking** redacts sensitive command content before it leaves your machine.
182
+
- **Exclusion patterns** skip matching commands entirely, so they are never recorded.
183
+
- **End-to-end encryption** is available for supported flows (opt-in).
184
+
- **Local config overrides** keep secrets like tokens out of your main config file.
187
185
188
186
## Development
189
187
@@ -197,6 +195,8 @@ go fmt ./...
197
195
go vet ./...
198
196
```
199
197
198
+
> **Note on naming:** the product is **ShellTime** (`shelltime.xyz`), but the Go module path is `github.com/malamtime/cli`. This mismatch is intentional — use `ShellTime` in product-facing docs and `github.com/malamtime/cli` for imports.
Copy file name to clipboardExpand all lines: docs/CONFIG.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# ShellTime CLI Configuration Guide
2
2
3
-
This guide explains all configuration options available in ShellTime CLI. Configuration is straightforward yet powerful, allowing you to customize everything from data syncing to AI features.
3
+
This guide covers every configuration option in ShellTime CLI. ShellTime runs fine on its defaults, so you only need to set what you want to change — from sync behavior to AI features.
4
4
5
5
## Table of Contents
6
6
@@ -26,7 +26,7 @@ Create a configuration file at `~/.shelltime/config.yaml`:
26
26
token: "your-api-token-from-shelltime.xyz"
27
27
```
28
28
29
-
That's it! ShellTime works with sensible defaults. Read on to customize your experience.
29
+
That's it — every other setting has a sensible default. Read on to fine-tune things.
30
30
31
31
---
32
32
@@ -298,7 +298,7 @@ codeTracking:
298
298
token: "custom-heartbeat-token"
299
299
```
300
300
301
-
When `apiEndpoint` or `token` is set under `codeTracking`, heartbeat data will use these values instead of the global configuration. This allows you to send coding activity to a different server or authenticate with a separate token.
301
+
When `apiEndpoint` or `token` is set under `codeTracking`, heartbeats use those values instead of the global ones — handy for sending coding activity to a different server or authenticating with a separate token.
302
302
303
303
---
304
304
@@ -497,9 +497,9 @@ No, but it's recommended:
497
497
- **With daemon:** <8ms latency, encryption support
498
498
- **Without daemon:** ~100ms+ latency, no encryption
499
499
500
-
Start the daemon:
500
+
Install and start the daemon as a background service:
0 commit comments