sidecar-cli 0.1.0-beta.4

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/README.md ADDED
@@ -0,0 +1,219 @@
1
+ [■]─[▪] sidecar
2
+
3
+ project memory for your work
4
+
5
+ # Sidecar CLI
6
+
7
+ Sidecar is a local-first, CLI-first project memory and recording tool for human developers and AI coding agents.
8
+
9
+ ## Why Sidecar exists
10
+
11
+ - Keep project memory structured and local.
12
+ - Make session handoffs easier for humans and agents.
13
+ - Record decisions, work logs, tasks, notes, sessions, and artifacts in one stable CLI.
14
+ - Generate deterministic context and summary outputs without any cloud or LLM dependency.
15
+
16
+ ## v1 scope
17
+
18
+ - No cloud sync
19
+ - No remote server
20
+ - No GUI
21
+ - No MCP server
22
+ - No passive prompt capture
23
+
24
+ ## Install
25
+
26
+ Install globally:
27
+
28
+ ```bash
29
+ npm install -g sidecar-cli
30
+ ```
31
+
32
+ Or run without install:
33
+
34
+ ```bash
35
+ npx sidecar-cli --help
36
+ ```
37
+
38
+ Requirements:
39
+
40
+ - Node.js 20+
41
+ - npm
42
+
43
+ Install dependencies:
44
+
45
+ ```bash
46
+ npm install
47
+ ```
48
+
49
+ Build:
50
+
51
+ ```bash
52
+ npm run build
53
+ ```
54
+
55
+ Run locally in dev mode:
56
+
57
+ ```bash
58
+ npm run dev -- --help
59
+ ```
60
+
61
+ ## Quick start
62
+
63
+ Initialize in a project directory:
64
+
65
+ ```bash
66
+ npm run dev -- init
67
+ ```
68
+
69
+ This creates:
70
+
71
+ - `.sidecar/sidecar.db`
72
+ - `.sidecar/config.json`
73
+ - `.sidecar/AGENTS.md`
74
+ - `.sidecar/summary.md`
75
+
76
+ Use `--force` to overwrite Sidecar-managed files.
77
+
78
+ ## Core commands
79
+
80
+ Global:
81
+
82
+ - `sidecar init [--force] [--name <project-name>] [--json]`
83
+ - `sidecar status [--json]`
84
+ - `sidecar capabilities --json`
85
+ - `sidecar help`
86
+
87
+ Context and summary:
88
+
89
+ - `sidecar context [--limit <n>] [--format text|markdown|json] [--json]`
90
+ - `sidecar summary refresh [--limit <n>] [--json]`
91
+ - `sidecar recent [--type <event-type>] [--limit <n>] [--json]`
92
+
93
+ Notes, decisions, worklogs:
94
+
95
+ - `sidecar note "<text>" [--title <title>] [--by human|agent] [--session <id>] [--json]`
96
+ - `sidecar decision record --title <title> --summary <summary> [--details <details>] [--by human|agent] [--session <id>] [--json]`
97
+ - `sidecar worklog record --done <summary> [--goal <goal>] [--files a,b] [--risks <text>] [--next <text>] [--by human|agent] [--session <id>] [--json]`
98
+
99
+ Tasks:
100
+
101
+ - `sidecar task add "<title>" [--description <text>] [--priority low|medium|high] [--by human|agent] [--json]`
102
+ - `sidecar task done <task-id> [--by human|agent] [--json]`
103
+ - `sidecar task list [--status open|done|all] [--format table|json] [--json]`
104
+
105
+ Sessions:
106
+
107
+ - `sidecar session start [--actor human|agent] [--name <actor-name>] [--json]`
108
+ - `sidecar session end [--summary <text>] [--json]`
109
+ - `sidecar session current [--json]`
110
+ - `sidecar session verify [--json]`
111
+ - `sidecar doctor [--json]` (alias)
112
+
113
+ Artifacts:
114
+
115
+ - `sidecar artifact add <path> [--kind file|doc|screenshot|other] [--note <text>] [--json]`
116
+ - `sidecar artifact list [--json]`
117
+
118
+ ## Example workflow
119
+
120
+ ```bash
121
+ sidecar context --format markdown
122
+ sidecar session start --actor agent --name codex
123
+ sidecar decision record --title "Use SQLite" --summary "Local-first persistence"
124
+ sidecar worklog record --goal "init flow" --done "Implemented schema and command surface" --files src/cli.ts,src/db/schema.ts
125
+ sidecar task add "Add integration tests" --priority medium --by agent
126
+ sidecar summary refresh
127
+ sidecar session end --summary "Initialization and recording flow implemented"
128
+ ```
129
+
130
+ ## AI agent usage
131
+
132
+ Sidecar generates `.sidecar/AGENTS.md` during `init`.
133
+
134
+ That file explains:
135
+
136
+ - this repo uses Sidecar
137
+ - required workflow for agents
138
+ - when to record notes, decisions, worklogs, and tasks
139
+ - recommended commands
140
+ - a practical session checklist and example
141
+
142
+ Agents can discover the CLI surface programmatically with:
143
+
144
+ ```bash
145
+ sidecar capabilities --json
146
+ ```
147
+
148
+ ## Local storage details
149
+
150
+ All data is local in `.sidecar/sidecar.db` (SQLite).
151
+
152
+ Primary tables:
153
+
154
+ - `projects`
155
+ - `events`
156
+ - `tasks`
157
+ - `sessions`
158
+ - `artifacts`
159
+
160
+ No network dependency is required for normal operation.
161
+
162
+ ## JSON output
163
+
164
+ Most commands support `--json` and return structured output:
165
+
166
+ - `ok`
167
+ - `command`
168
+ - `data`
169
+ - `errors`
170
+
171
+ This makes Sidecar easy to automate from scripts and AI agents.
172
+
173
+ ## Release and distribution
174
+
175
+ Sidecar uses tag-based GitHub Actions releases.
176
+
177
+ Tag formats:
178
+
179
+ - stable: `v1.2.3`
180
+ - beta: `v1.2.3-beta.1`
181
+ - rc: `v1.2.3-rc.1`
182
+
183
+ Behavior:
184
+
185
+ - stable tags publish npm `latest`
186
+ - beta tags publish npm `beta`
187
+ - rc tags publish npm `rc`
188
+ - all release tags create GitHub Releases and upload tarball assets
189
+ - Homebrew tap updates are stable-only (beta/rc intentionally skipped)
190
+
191
+ Workflows:
192
+
193
+ - CI: `.github/workflows/ci.yml`
194
+ - Release: `.github/workflows/release.yml`
195
+
196
+ Required configuration:
197
+
198
+ - `NPM_TOKEN` (secret)
199
+ - `HOMEBREW_TAP_REPO` (variable, optional)
200
+ - `HOMEBREW_TAP_GITHUB_TOKEN` (secret, optional)
201
+
202
+ See [RELEASE.md](./RELEASE.md) for full release steps and examples.
203
+
204
+ Quick preflight:
205
+
206
+ ```bash
207
+ npm run release_check -- --tag v1.2.3
208
+ ```
209
+
210
+ One-command release:
211
+
212
+ ```bash
213
+ npm run release:stable -- --version 1.2.3
214
+ npm run release:beta -- --version 1.2.3 --pre 1
215
+ npm run release:rc -- --version 1.2.3 --pre 1
216
+
217
+ # preview only (no commit/tag/push)
218
+ npm run release:beta -- --version 1.2.3 --pre 1 --dry-run
219
+ ```