@c3-oss/prosa 0.1.0 → 0.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.
package/README.md CHANGED
@@ -39,7 +39,7 @@ During development, run commands through SWC:
39
39
 
40
40
  ```bash
41
41
  pnpm dev -- init
42
- pnpm dev -- compile --codex ~/.codex/sessions
42
+ pnpm dev -- compile codex
43
43
  pnpm dev -- sessions
44
44
  pnpm dev -- search "terraform"
45
45
  ```
@@ -48,11 +48,7 @@ After building or installing the package, use the `prosa` binary:
48
48
 
49
49
  ```bash
50
50
  prosa init
51
- prosa compile \
52
- --codex ~/.codex/sessions \
53
- --claude ~/.claude/projects \
54
- --gemini ~/.gemini/tmp \
55
- --cursor ~/.cursor/chats
51
+ prosa compile-all
56
52
 
57
53
  prosa sessions --source codex --since 2026-01-01
58
54
  prosa search "package.json"
@@ -73,10 +69,15 @@ prosa sessions --store /tmp/prosa-demo
73
69
 
74
70
  ## Supported sources
75
71
 
76
- `prosa compile` accepts one or more source roots:
72
+ `prosa compile` imports one source at a time. If `--sessions-path` is omitted,
73
+ the provider default is used:
77
74
 
78
75
  ```bash
79
- prosa compile [--codex <path>] [--claude <path>] [--gemini <path>] [--cursor <path>]
76
+ prosa compile codex [--sessions-path <path>]
77
+ prosa compile claude [--sessions-path <path>]
78
+ prosa compile gemini [--sessions-path <path>]
79
+ prosa compile cursor [--sessions-path <path>]
80
+ prosa compile-all [--verbose] [--json-logs]
80
81
  ```
81
82
 
82
83
  Supported importers:
@@ -95,7 +96,7 @@ edges, and errors.
95
96
  For large imports, you can defer FTS5 index updates and rebuild later:
96
97
 
97
98
  ```bash
98
- prosa compile --codex ~/.codex/sessions --defer-index
99
+ prosa compile codex --defer-index
99
100
  prosa index fts5
100
101
  ```
101
102
 
@@ -122,32 +123,37 @@ prosa init --force-existing
122
123
  Import session histories into the bundle:
123
124
 
124
125
  ```bash
125
- prosa compile --codex ~/.codex/sessions
126
- prosa compile --claude ~/.claude/projects
127
- prosa compile --gemini ~/.gemini/tmp
128
- prosa compile --cursor ~/.cursor/chats
126
+ prosa compile codex
127
+ prosa compile claude
128
+ prosa compile gemini
129
+ prosa compile cursor
129
130
  ```
130
131
 
131
- Import multiple tools in one run:
132
+ Override a provider source path:
132
133
 
133
134
  ```bash
134
- prosa compile \
135
- --codex ~/.codex/sessions \
136
- --claude ~/.claude/projects \
137
- --gemini ~/.gemini/tmp \
138
- --cursor ~/.cursor/chats
135
+ prosa compile codex --sessions-path ~/custom/codex/sessions
136
+ ```
137
+
138
+ Import every supported provider with default paths:
139
+
140
+ ```bash
141
+ prosa compile-all
139
142
  ```
140
143
 
141
144
  Options:
142
145
 
143
146
  | Option | Description |
144
147
  |---|---|
145
- | `--codex <path>` | Root of Codex CLI sessions |
146
- | `--claude <path>` | Root of Claude Code projects |
147
- | `--gemini <path>` | Root of Gemini CLI temp/session data |
148
- | `--cursor <path>` | Root of Cursor agent stores |
148
+ | `--sessions-path <path>` | Root of the selected provider's session history |
149
149
  | `--store <path>` | Bundle directory |
150
150
  | `--defer-index` | Skip immediate FTS5 updates; run `prosa index fts5` later |
151
+ | `--verbose` | Emit debug logs during compilation |
152
+ | `--json-logs` | Emit raw JSON logs instead of pretty logs |
153
+
154
+ `prosa compile-all` accepts only the logging flags. It uses provider defaults and
155
+ the normal `PROSA_STORE` environment variable when the bundle path must be
156
+ overridden.
151
157
 
152
158
  ### `prosa index`
153
159
 
@@ -382,11 +388,7 @@ All MCP tools are read-only and use the same services as the CLI.
382
388
 
383
389
  ```bash
384
390
  prosa init --force-existing
385
- prosa compile \
386
- --codex ~/.codex/sessions \
387
- --claude ~/.claude/projects \
388
- --gemini ~/.gemini/tmp \
389
- --cursor ~/.cursor/chats
391
+ prosa compile-all
390
392
  prosa index status
391
393
  ```
392
394
 
@@ -424,7 +426,7 @@ prosa index status
424
426
 
425
427
  ```bash
426
428
  prosa init --store /tmp/prosa-demo
427
- prosa compile --codex ~/.codex/sessions --store /tmp/prosa-demo
429
+ prosa compile codex --store /tmp/prosa-demo
428
430
  prosa tui --store /tmp/prosa-demo
429
431
  ```
430
432
 
@@ -497,7 +499,7 @@ Examples:
497
499
 
498
500
  ```bash
499
501
  pnpm dev -- init --store /tmp/prosa-dev
500
- pnpm dev -- compile --codex ~/.codex/sessions --store /tmp/prosa-dev
502
+ pnpm dev -- compile codex --store /tmp/prosa-dev
501
503
  pnpm dev -- sessions --store /tmp/prosa-dev --output-format json
502
504
  ```
503
505
 
@@ -512,7 +514,22 @@ Project layout:
512
514
  | `src/mcp/` | MCP server, tools, and prompts |
513
515
  | `src/tui/` | Ink terminal UI |
514
516
  | `test/` | Vitest tests and fixtures |
515
- | `docs/` | Design and recovery notes |
517
+ | `docs/` | Architecture and source-format references |
518
+
519
+ ## Documentation
520
+
521
+ `docs/` holds the architecture and source-format references. Start with
522
+ [`docs/README.md`](./docs/README.md) for an index. Highlights:
523
+
524
+ | Doc | Purpose |
525
+ |---|---|
526
+ | [`docs/architecture/bundle-format.md`](./docs/architecture/bundle-format.md) | Bundle layout, full SQLite schema, CAS, idempotency keys |
527
+ | [`docs/architecture/import-pipeline.md`](./docs/architecture/import-pipeline.md) | How `compile` walks sources, stages CAS, commits, and rebuilds indexes |
528
+ | [`docs/architecture/search-engines.md`](./docs/architecture/search-engines.md) | FTS5 default vs. Tantivy sidecar |
529
+ | [`docs/sources/codex.md`](./docs/sources/codex.md) | `~/.codex/sessions/` JSONL format |
530
+ | [`docs/sources/claude-code.md`](./docs/sources/claude-code.md) | `~/.claude/projects/` JSONL + artifacts |
531
+ | [`docs/sources/cursor.md`](./docs/sources/cursor.md) | `~/.cursor/chats/**/store.db` SQLite |
532
+ | [`docs/sources/gemini.md`](./docs/sources/gemini.md) | `~/.gemini/tmp/` JSON |
516
533
 
517
534
  ## Releasing
518
535
 
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node