letthemquibble 1.1.0 → 1.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.
Files changed (3) hide show
  1. package/README.md +55 -14
  2. package/dist/quibble.js +801 -271
  3. package/package.json +2 -1
package/README.md CHANGED
@@ -10,7 +10,24 @@ This package is the `quibble` CLI. It is published as `letthemquibble` because
10
10
 
11
11
  ## Install
12
12
 
13
- You need Node 22 or later.
13
+ On macOS or Linux:
14
+
15
+ ```sh
16
+ curl -fsSL https://letthemquibble.com/install.sh | sh
17
+ ```
18
+
19
+ On Windows, in PowerShell:
20
+
21
+ ```powershell
22
+ irm https://letthemquibble.com/install.ps1 | iex
23
+ ```
24
+
25
+ This installs a standalone binary that needs no Node. Run it again to update.
26
+ `QUIBBLE_VERSION` pins a version and `QUIBBLE_INSTALL_DIR` picks the
27
+ directory. On Alpine and other musl systems, run `apk add libstdc++ libgcc`
28
+ first.
29
+
30
+ With Node 22 or later you can install from npm instead:
14
31
 
15
32
  ```sh
16
33
  npm install -g letthemquibble
@@ -18,43 +35,67 @@ npm install -g letthemquibble
18
35
 
19
36
  ## Quick start
20
37
 
21
- With no endpoint configured, Quibble runs in local mode and appends complaints
22
- to `~/.quibble/complaints.jsonl`. No server or account is needed.
38
+ Quibble talks to the hosted service at `https://api.letthemquibble.com` unless
39
+ you name another endpoint. Create an account and an organization at
40
+ <https://letthemquibble.com>, and have an admin create the project there.
41
+ Then, in the repository:
23
42
 
24
43
  ```sh
25
44
  cd ~/code/myproject
26
- quibble init -t build -t tests -t docs
45
+ quibble login
46
+ quibble init --org acme
47
+ quibble snippet --append CLAUDE.md --hook
27
48
  quibble complain "the build takes 4 minutes" -s high -t build
28
49
  quibble list
29
50
  quibble summary
30
51
  ```
31
52
 
32
- `quibble init` writes a `.quibblerc` and prints a short section for you to
33
- paste into your `CLAUDE.md` or `AGENTS.md`. It tells the agent when to
34
- complain and how, for example:
53
+ `quibble init` writes a `.quibblerc` and prints a short section for your
54
+ `CLAUDE.md` or `AGENTS.md`. It tells the agent when to complain and how, for
55
+ example:
35
56
 
36
57
  ```
37
58
  quibble complain "what went wrong, and what you expected" -s medium -t build --agent claude
38
59
  ```
39
60
 
40
- `quibble snippet --append CLAUDE.md` appends the same section to a file
61
+ `quibble snippet --append CLAUDE.md` appends that section to a file
41
62
  (`AGENTS.md` names the agent `codex`), `quibble snippet --skill` writes it as a
42
63
  Claude Code skill, and `--agent <name>` names any other agent.
43
64
 
65
+ When the allowed tags change, `quibble sync` rewrites that section in place
66
+ in `CLAUDE.md`, `AGENTS.md` and the skill file, and leaves the rest of each
67
+ file alone. `--hook` on `init`, `snippet` or `sync` adds a Claude Code
68
+ `SessionStart` hook that runs `quibble sync --quiet` at the start of every
69
+ new session, so the list stays current by itself.
70
+
44
71
  Complaints that share a headline fold into one row of `quibble list`.
45
72
  `quibble show <id>` prints one in full, and any unique prefix of at least 6
46
- characters stands for an id.
73
+ characters stands for an id. Project names ignore case: `DBT` and `dbt` are
74
+ the same project.
47
75
 
48
- ## Remote mode
76
+ ## Local mode
49
77
 
50
- To share complaints with a team, point the CLI at a hosted API. Create an
51
- account in its web app first, then:
78
+ Local mode keeps complaints on your machine, in
79
+ `~/.quibble/complaints.jsonl`, with no server and no account. It is opt-in:
80
+ pass `--local`, or set the endpoint to `local`.
52
81
 
53
82
  ```sh
54
- quibble init --org acme --endpoint https://api.example.com -t build
55
- quibble login
83
+ quibble init --endpoint local -t build -t tests -t docs
84
+ quibble complain "the build takes 4 minutes" -s high -t build
56
85
  ```
57
86
 
87
+ `--endpoint local` writes `"endpoint": "local"` into `.quibblerc`, so every
88
+ command in the project stays local. Each local filing says on stderr that
89
+ nothing was sent.
90
+
91
+ ## Other servers and CI
92
+
93
+ `--endpoint`, `QUIBBLE_ENDPOINT`, `.quibblerc` and `~/.quibble/config.json`
94
+ take the API URL, the web URL or a bare host, such as
95
+ `staging.example.com`. `quibble login --endpoint <url>` saves the endpoint
96
+ in `~/.quibble/config.json` when that file names none yet, so you pass it
97
+ once.
98
+
58
99
  For CI, a maintainer runs `quibble token create ci`, and the job sets the two
59
100
  lines it prints, `QUIBBLE_ENDPOINT` and `QUIBBLE_TOKEN`, instead of logging in.
60
101
  A complaint that cannot reach the API waits in `~/.quibble/unsent.jsonl` and