sidecar-cli 0.1.0-beta.7 → 0.1.0-rc.1

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 CHANGED
@@ -11,15 +11,7 @@ Sidecar is a local-first, CLI-first project memory and recording tool for human
11
11
  - Keep project memory structured and local.
12
12
  - Make session handoffs easier for humans and agents.
13
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
14
+ - Generate deterministic context and summary outputs from local project data.
23
15
 
24
16
  ## Install
25
17
 
@@ -41,6 +33,13 @@ Install rc:
41
33
  npm install -g sidecar-cli@rc
42
34
  ```
43
35
 
36
+ Install with Homebrew (stable):
37
+
38
+ ```bash
39
+ brew tap karlhills/sidecar
40
+ brew install sidecar
41
+ ```
42
+
44
43
  Or run without install:
45
44
 
46
45
  ```bash
@@ -48,6 +47,13 @@ npx sidecar-cli --help
48
47
  npx sidecar-cli@beta --help
49
48
  ```
50
49
 
50
+ Update Homebrew install:
51
+
52
+ ```bash
53
+ brew update
54
+ brew upgrade sidecar
55
+ ```
56
+
51
57
  Requirements:
52
58
 
53
59
  - Node.js 20+
@@ -76,7 +82,7 @@ npm run dev -- --help
76
82
  Initialize in a project directory:
77
83
 
78
84
  ```bash
79
- npm run dev -- init
85
+ sidecar init
80
86
  ```
81
87
 
82
88
  This creates:
@@ -86,6 +92,8 @@ This creates:
86
92
  - `.sidecar/preferences.json`
87
93
  - `.sidecar/AGENTS.md`
88
94
  - `.sidecar/summary.md`
95
+ - `AGENTS.md` (repo root)
96
+ - `CLAUDE.md` (repo root)
89
97
 
90
98
  Use `--force` to overwrite Sidecar-managed files.
91
99
 
@@ -173,6 +181,16 @@ Agents can discover the CLI surface programmatically with:
173
181
  sidecar capabilities --json
174
182
  ```
175
183
 
184
+ ## Repo policy
185
+
186
+ When changes are made in this repo, document them in Sidecar:
187
+
188
+ 1. `sidecar context --format markdown`
189
+ 2. `sidecar worklog record --done "<what changed>" --files <paths> --by human|agent`
190
+ 3. `sidecar decision record ...` when behavior/design changes
191
+ 4. `sidecar task add ...` for follow-up work
192
+ 5. `sidecar summary refresh`
193
+
176
194
  ## Local storage details
177
195
 
178
196
  All data is local in `.sidecar/sidecar.db` (SQLite).
@@ -200,49 +218,5 @@ This makes Sidecar easy to automate from scripts and AI agents.
200
218
 
201
219
  ## Release and distribution
202
220
 
203
- Sidecar uses tag-based GitHub Actions releases.
204
-
205
- Tag formats:
206
-
207
- - stable: `v1.2.3`
208
- - beta: `v1.2.3-beta.1`
209
- - rc: `v1.2.3-rc.1`
210
-
211
- Behavior:
212
-
213
- - stable tags publish npm `latest`
214
- - beta tags publish npm `beta`
215
- - rc tags publish npm `rc`
216
- - all release tags create GitHub Releases and upload tarball assets
217
- - Homebrew tap updates are stable-only (beta/rc intentionally skipped)
218
-
219
- Workflows:
220
-
221
- - CI: `.github/workflows/ci.yml`
222
- - Release: `.github/workflows/release.yml`
223
-
224
- Required configuration:
225
-
226
- - `NPM_TOKEN` (secret)
227
- - `HOMEBREW_TAP_REPO` (variable, optional)
228
- - `HOMEBREW_TAP_GITHUB_TOKEN` (secret, optional)
229
-
230
- See [RELEASE.md](./RELEASE.md) for full release steps and examples.
221
+ See [RELEASE.md](./RELEASE.md) for publishing/release details.
231
222
  See [CONTRIBUTING.md](./CONTRIBUTING.md) for code structure and contribution guidelines.
232
-
233
- Quick preflight:
234
-
235
- ```bash
236
- npm run release_check -- --tag v1.2.3
237
- ```
238
-
239
- One-command release:
240
-
241
- ```bash
242
- npm run release:stable -- --version 1.2.3
243
- npm run release:beta -- --version 1.2.3 --pre 1
244
- npm run release:rc -- --version 1.2.3 --pre 1
245
-
246
- # preview only (no commit/tag/push)
247
- npm run release:beta -- --version 1.2.3 --pre 1 --dry-run
248
- ```
package/dist/cli.js CHANGED
@@ -12,7 +12,7 @@ import { jsonFailure, jsonSuccess, printJsonEnvelope } from './lib/output.js';
12
12
  import { bannerDisabled, renderBanner } from './lib/banner.js';
13
13
  import { getUpdateNotice } from './lib/update-check.js';
14
14
  import { requireInitialized } from './db/client.js';
15
- import { renderAgentsMarkdown } from './templates/agents.js';
15
+ import { renderAgentsMarkdown, renderClaudeMarkdown } from './templates/agents.js';
16
16
  import { refreshSummaryFile } from './services/summary-service.js';
17
17
  import { buildContext } from './services/context-service.js';
18
18
  import { getCapabilitiesManifest } from './services/capabilities-service.js';
@@ -216,8 +216,11 @@ program
216
216
  sidecar.summaryPath,
217
217
  ];
218
218
  const shouldWriteRootAgents = Boolean(opts.force) || !fs.existsSync(sidecar.rootAgentsPath);
219
+ const shouldWriteRootClaude = Boolean(opts.force) || !fs.existsSync(sidecar.rootClaudePath);
219
220
  if (shouldWriteRootAgents)
220
221
  files.push(sidecar.rootAgentsPath);
222
+ if (shouldWriteRootClaude)
223
+ files.push(sidecar.rootClaudePath);
221
224
  fs.mkdirSync(sidecar.sidecarPath, { recursive: true });
222
225
  if (opts.force) {
223
226
  for (const file of [
@@ -254,6 +257,9 @@ program
254
257
  if (shouldWriteRootAgents) {
255
258
  fs.writeFileSync(sidecar.rootAgentsPath, renderAgentsMarkdown(projectName));
256
259
  }
260
+ if (shouldWriteRootClaude) {
261
+ fs.writeFileSync(sidecar.rootClaudePath, renderClaudeMarkdown(projectName));
262
+ }
257
263
  const db2 = new Database(sidecar.dbPath);
258
264
  const refreshed = refreshSummaryFile(db2, rootPath, 1, 10);
259
265
  db2.close();
package/dist/lib/paths.js CHANGED
@@ -7,6 +7,7 @@ export function getSidecarPaths(rootPath) {
7
7
  rootPath,
8
8
  sidecarPath,
9
9
  rootAgentsPath: path.join(rootPath, 'AGENTS.md'),
10
+ rootClaudePath: path.join(rootPath, 'CLAUDE.md'),
10
11
  dbPath: path.join(sidecarPath, 'sidecar.db'),
11
12
  configPath: path.join(sidecarPath, 'config.json'),
12
13
  preferencesPath: path.join(sidecarPath, 'preferences.json'),
@@ -1,6 +1,8 @@
1
- export function renderAgentsMarkdown(projectName) {
1
+ function renderSharedGuide(projectName, heading) {
2
2
  return `# Sidecar Agent Guide
3
3
 
4
+ ${heading}
5
+
4
6
  Sidecar is the local project memory tool for this repository.
5
7
 
6
8
  ## MUST before final response
@@ -71,3 +73,9 @@ Run this before final response to catch missed Sidecar logging:
71
73
  Project: ${projectName}.
72
74
  `;
73
75
  }
76
+ export function renderAgentsMarkdown(projectName) {
77
+ return renderSharedGuide(projectName, 'Use this guide for AI coding agents in this repository.');
78
+ }
79
+ export function renderClaudeMarkdown(projectName) {
80
+ return renderSharedGuide(projectName, 'Claude-specific note: treat this as required workflow, not advisory context.');
81
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sidecar-cli",
3
- "version": "0.1.0-beta.7",
3
+ "version": "0.1.0-rc.1",
4
4
  "description": "Local-first project memory and recording tool",
5
5
  "scripts": {
6
6
  "build": "npm run clean && tsc -p tsconfig.json",