context-carwash 0.1.7 → 0.1.9
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/CHANGELOG.md +8 -0
- package/README.md +30 -73
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.9
|
|
4
|
+
|
|
5
|
+
- Friendlier README wording.
|
|
6
|
+
|
|
7
|
+
## 0.1.8
|
|
8
|
+
|
|
9
|
+
- Shorter, clearer README.
|
|
10
|
+
|
|
3
11
|
## 0.1.7
|
|
4
12
|
|
|
5
13
|
- `carwash doctor` checks that the Node Carwash runs with is still there, and says how to fix it if not. Removing that Node, for example an old version in nvm, stops the meter and `/wash` until install is run again. The installer now says which Node that is.
|
package/README.md
CHANGED
|
@@ -1,59 +1,40 @@
|
|
|
1
1
|
# Context Carwash
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Context Carwash adds a line to Claude Code in your terminal that:
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
1. Shows the current conversation's context size.
|
|
6
|
+
2. Lets you compress your context and start a new session without losing the important details.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
**Status:** pre-release. The meter and the typed `/wash` command work today. Clickable links in the status line and the one-step restart are not built yet. See [plan-3.md](plan-3.md) for the design.
|
|
8
|
+
Pretty simple app, but I've found it helpful. Everything is local, but you can share your token savings anonymously with me if you'd like with `npx context-carwash stats --share`.
|
|
11
9
|
|
|
12
10
|
## Install
|
|
13
11
|
|
|
14
|
-
|
|
12
|
+
You'll need Node 18 or later.
|
|
15
13
|
|
|
16
14
|
```sh
|
|
17
|
-
npx context-carwash
|
|
18
|
-
npx context-carwash install # lists what it will change, then asks
|
|
15
|
+
npx context-carwash install
|
|
19
16
|
```
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
You do not have to watch for new versions. Once a day, when a session starts, Carwash checks npm in the background. If a newer version is out, or the version you have has a known problem, a line under the meter says so, with the command to update. `/wash help` shows the version you have.
|
|
24
|
-
|
|
25
|
-
The installer copies itself to `~/.carwash/app` and makes three changes to Claude Code, all listed before you confirm:
|
|
18
|
+
It shows you what it's going to change and asks before doing anything. Then start a new Claude Code session and you're set.
|
|
26
19
|
|
|
27
|
-
|
|
28
|
-
- **Three hooks** in the same file, added after any hooks you already have. They are how `/wash` saves a brief and how a fresh session receives it.
|
|
29
|
-
- **The `/wash` command** at `~/.claude/skills/wash`.
|
|
20
|
+
When there's a new version, a line under the meter will tell you. To update, run `npx context-carwash@latest install`.
|
|
30
21
|
|
|
31
|
-
|
|
22
|
+
Under the hood, it adds a status line and three hooks to `~/.claude/settings.json` (after whatever you already have there) and a `/wash` command in `~/.claude/skills/wash`.
|
|
32
23
|
|
|
33
|
-
The
|
|
34
|
-
|
|
35
|
-
## The meter
|
|
24
|
+
## The Meter
|
|
36
25
|
|
|
37
26
|
```text
|
|
38
27
|
session context ~136k [██████████░░░░░] /wash to compress & save context, then /clear keeps compressed context
|
|
39
28
|
```
|
|
40
29
|
|
|
41
|
-
The number is how many tokens
|
|
30
|
+
The number is roughly how many tokens your conversation is using (Claude Code's estimate). The bar shows how full the context window is and changes colour as it fills up. In a narrow window the text shortens to fit. It's just a meter, so it never does anything on its own.
|
|
42
31
|
|
|
43
|
-
|
|
44
|
-
session context ~150k [███████████░░░░] getting full · /wash to compress & save context, then /clear keeps compressed context
|
|
45
|
-
```
|
|
32
|
+
## /wash
|
|
46
33
|
|
|
47
|
-
|
|
34
|
+
1. Type `/wash`. Claude writes a short brief: what you're working on, where things stand, and what's next. The status line switches to `Brief ready ✓`.
|
|
35
|
+
2. Type `/clear`. Your new session starts with the brief already loaded.
|
|
48
36
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
## Starting fresh with a brief
|
|
52
|
-
|
|
53
|
-
1. Type `/wash` (or `/wash light`, `/wash detailed`). Claude replies with a brief: what you are doing, where things stand, and what to do next. The status line changes to `Brief ready ✓`.
|
|
54
|
-
2. Type `/clear`. The new session starts with that brief already loaded, and says so: `Loaded your Carwash brief (mid ~1.1k, 2m ago), down from ~136k in the old session.`
|
|
55
|
-
|
|
56
|
-
Your old conversation is not deleted. It stays in `/resume`.
|
|
37
|
+
Your old conversation isn't gone. You can still find it in `/resume`.
|
|
57
38
|
|
|
58
39
|
| Command | What it does |
|
|
59
40
|
|---|---|
|
|
@@ -63,21 +44,17 @@ Your old conversation is not deleted. It stays in `/resume`.
|
|
|
63
44
|
| `/wash detailed` | Adds rationale, history, test results, risks, a step checklist |
|
|
64
45
|
| `/wash discard` | Drop the brief. `/clear` is a normal clear again |
|
|
65
46
|
| `/wash load [id]` | Make a waiting brief the one your next `/clear` uses |
|
|
66
|
-
| `/wash stats` | How much context your washes have saved
|
|
67
|
-
| `/wash help` | Explain the meter and these options
|
|
68
|
-
|
|
69
|
-
Each level has a size limit: the most tokens its brief may take, worked out from what the conversation is using (a hundredth for `light`, three hundredths for `mid`, a tenth for `detailed`). `/wash help` shows the limits for the session you are in.
|
|
70
|
-
|
|
71
|
-
Words after the level are passed to Claude as a note on what to emphasise: `/wash mid focus on the failing test`.
|
|
47
|
+
| `/wash stats` | How much context your washes have saved |
|
|
48
|
+
| `/wash help` | Explain the meter and these options |
|
|
72
49
|
|
|
73
|
-
|
|
50
|
+
A few things worth knowing:
|
|
74
51
|
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
52
|
+
- You can tell Claude what to focus on: `/wash mid focus on the failing test`.
|
|
53
|
+
- If you `/clear` without a brief ready, it's just a normal clear.
|
|
54
|
+
- Writing a brief is a normal Claude reply, so it uses some tokens. `help`, `discard` and `load` are free.
|
|
55
|
+
- Bigger conversations get bigger briefs. `/wash help` shows the size limit for each level.
|
|
56
|
+
- Closed the terminal before you got to `/clear`? Run `claude` in the same folder and your brief loads. If there's more than one waiting, it'll list them so you can pick with `/wash load <id>`.
|
|
57
|
+
- Briefs expire after 48 hours.
|
|
81
58
|
|
|
82
59
|
## Stats
|
|
83
60
|
|
|
@@ -96,19 +73,9 @@ Carwash stats, since 3 Oct 2026 (12 days)
|
|
|
96
73
|
Net saved ~20M tokens
|
|
97
74
|
```
|
|
98
75
|
|
|
99
|
-
|
|
76
|
+
Every request to Claude sends the whole conversation again. After a wash, each request starts from the small brief instead, so Carwash counts the requests you actually made and adds up the difference. Claude charges about a tenth of the price for repeated context, so in dollars you're saving roughly a tenth of these numbers. You can also see this inside Claude Code with `/wash stats`.
|
|
100
77
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
Claude caches repeated context and charges about a tenth for it, so in money terms the saving is roughly a tenth of these numbers. The brief cost counts every brief written, used or not.
|
|
104
|
-
|
|
105
|
-
### Sharing your stats
|
|
106
|
-
|
|
107
|
-
```sh
|
|
108
|
-
npx context-carwash stats --share
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
This shows every field it would send, and sends only if you say yes. It sends totals to a Google Form: a random share id made for sharing only (so sharing again replaces your last share), the Carwash version, your operating system, days since your first brief, and the numbers above. No names, folders, projects, prompts or briefs. You are not signed in to send it.
|
|
78
|
+
If you run `stats --share`, it shows you exactly what it would send before asking.
|
|
112
79
|
|
|
113
80
|
## Something not working?
|
|
114
81
|
|
|
@@ -116,15 +83,11 @@ This shows every field it would send, and sends only if you say yes. It sends to
|
|
|
116
83
|
npx context-carwash doctor
|
|
117
84
|
```
|
|
118
85
|
|
|
119
|
-
This checks that
|
|
120
|
-
|
|
121
|
-
If a hook fails, the status line shows `Carwash hit an error` until you run `doctor`.
|
|
86
|
+
This checks that everything's still installed and working, and shows your versions and any recent errors. Paste the output into a [new issue](https://github.com/Spobi/context-carwash/issues/new) and I'll take a look. Issues are public and errors can include folder names, so give it a quick read first.
|
|
122
87
|
|
|
123
88
|
## Where things are kept
|
|
124
89
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
If a hook fails it stays silent, writes the error to `~/.carwash/errors.log`, and the status line says so.
|
|
90
|
+
Your briefs, stats and error logs live in `~/.carwash`, and only you can read them. Nothing about you gets uploaded. Once a day, Carwash checks npm for a newer version. If you'd rather it didn't, set `CARWASH_NO_UPDATE_CHECK=1`.
|
|
128
91
|
|
|
129
92
|
## Uninstall
|
|
130
93
|
|
|
@@ -132,17 +95,11 @@ If a hook fails it stays silent, writes the error to `~/.carwash/errors.log`, an
|
|
|
132
95
|
npx context-carwash uninstall
|
|
133
96
|
```
|
|
134
97
|
|
|
135
|
-
This puts `settings.json` back exactly as it was. If you
|
|
136
|
-
|
|
137
|
-
## Limitations
|
|
138
|
-
|
|
139
|
-
- Terminal.app cannot click links. When clickable links arrive for other terminals, Terminal.app will keep showing the command to type.
|
|
140
|
-
- The status line re-runs every 5 seconds while a session is open, so it stays correct after `/wash discard` and `/wash load`. Each run reads a few small local files. If your own status line sets a refresh interval, yours is kept.
|
|
141
|
-
- Claude Code shows `help`, `discard`, `load`, and mistyped arguments under the heading "operation blocked by hook". That is Carwash answering the command itself instead of sending it to Claude.
|
|
98
|
+
This puts `settings.json` back exactly as it was. If you've edited the file since installing, it only removes Carwash's status line and hooks and leaves your changes alone. It also removes the `/wash` command and deletes `~/.carwash`, including any waiting briefs and your stats.
|
|
142
99
|
|
|
143
100
|
## Platforms
|
|
144
101
|
|
|
145
|
-
|
|
102
|
+
Built and tested on macOS. Automated tests also run on Linux and Windows, but I haven't tried those by hand yet.
|
|
146
103
|
|
|
147
104
|
## License
|
|
148
105
|
|