@cesarandreslopez/occ 0.8.12 → 0.9.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 (178) hide show
  1. package/README.md +167 -79
  2. package/dist/src/cli-validation.js +3 -11
  3. package/dist/src/cli-validation.js.map +1 -1
  4. package/dist/src/cli.js +23 -11
  5. package/dist/src/cli.js.map +1 -1
  6. package/dist/src/code/build.js +28 -22
  7. package/dist/src/code/build.js.map +1 -1
  8. package/dist/src/code/cache.js +3 -1
  9. package/dist/src/code/cache.js.map +1 -1
  10. package/dist/src/code/chunk.js +4 -4
  11. package/dist/src/code/chunk.js.map +1 -1
  12. package/dist/src/code/command.js +147 -37
  13. package/dist/src/code/command.js.map +1 -1
  14. package/dist/src/code/diff.d.ts +264 -0
  15. package/dist/src/code/diff.js +504 -0
  16. package/dist/src/code/diff.js.map +1 -0
  17. package/dist/src/code/discover.js +5 -5
  18. package/dist/src/code/discover.js.map +1 -1
  19. package/dist/src/code/focus.js +5 -5
  20. package/dist/src/code/focus.js.map +1 -1
  21. package/dist/src/code/incremental.js +11 -9
  22. package/dist/src/code/incremental.js.map +1 -1
  23. package/dist/src/code/index-io.js.map +1 -1
  24. package/dist/src/code/isolated-runner.js.map +1 -1
  25. package/dist/src/code/isolated.js +2 -2
  26. package/dist/src/code/isolated.js.map +1 -1
  27. package/dist/src/code/languages.js +2 -2
  28. package/dist/src/code/languages.js.map +1 -1
  29. package/dist/src/code/map.d.ts +12 -0
  30. package/dist/src/code/map.js +22 -9
  31. package/dist/src/code/map.js.map +1 -1
  32. package/dist/src/code/output.d.ts +3 -0
  33. package/dist/src/code/output.js +39 -22
  34. package/dist/src/code/output.js.map +1 -1
  35. package/dist/src/code/parsers.js +87 -26
  36. package/dist/src/code/parsers.js.map +1 -1
  37. package/dist/src/code/query.js +44 -38
  38. package/dist/src/code/query.js.map +1 -1
  39. package/dist/src/code/rank.js +30 -17
  40. package/dist/src/code/rank.js.map +1 -1
  41. package/dist/src/code/session.js.map +1 -1
  42. package/dist/src/code/slim.js.map +1 -1
  43. package/dist/src/code/store.js +35 -23
  44. package/dist/src/code/store.js.map +1 -1
  45. package/dist/src/code/types.js +15 -3
  46. package/dist/src/code/types.js.map +1 -1
  47. package/dist/src/doc/batch.js +6 -2
  48. package/dist/src/doc/batch.js.map +1 -1
  49. package/dist/src/doc/chunk.js +9 -5
  50. package/dist/src/doc/chunk.js.map +1 -1
  51. package/dist/src/doc/command.js +18 -9
  52. package/dist/src/doc/command.js.map +1 -1
  53. package/dist/src/doc/discover.d.ts +1 -1
  54. package/dist/src/doc/discover.js.map +1 -1
  55. package/dist/src/doc/entities.js +90 -10
  56. package/dist/src/doc/entities.js.map +1 -1
  57. package/dist/src/doc/inspect-docx.js +5 -4
  58. package/dist/src/doc/inspect-docx.js.map +1 -1
  59. package/dist/src/doc/inspect-odt.js.map +1 -1
  60. package/dist/src/doc/inspect-pdf.js +1 -1
  61. package/dist/src/doc/inspect-pdf.js.map +1 -1
  62. package/dist/src/doc/inspect.js +4 -4
  63. package/dist/src/doc/inspect.js.map +1 -1
  64. package/dist/src/doc/output.js +11 -8
  65. package/dist/src/doc/output.js.map +1 -1
  66. package/dist/src/doc/references.js +4 -4
  67. package/dist/src/doc/references.js.map +1 -1
  68. package/dist/src/errors.js +2 -4
  69. package/dist/src/errors.js.map +1 -1
  70. package/dist/src/git/api.d.ts +34 -0
  71. package/dist/src/git/api.js +247 -0
  72. package/dist/src/git/api.js.map +1 -0
  73. package/dist/src/git/client.d.ts +48 -0
  74. package/dist/src/git/client.js +336 -0
  75. package/dist/src/git/client.js.map +1 -0
  76. package/dist/src/git/command.d.ts +2 -0
  77. package/dist/src/git/command.js +173 -0
  78. package/dist/src/git/command.js.map +1 -0
  79. package/dist/src/git/index.d.ts +5 -0
  80. package/dist/src/git/index.js +6 -0
  81. package/dist/src/git/index.js.map +1 -0
  82. package/dist/src/git/output.d.ts +8 -0
  83. package/dist/src/git/output.js +38 -0
  84. package/dist/src/git/output.js.map +1 -0
  85. package/dist/src/git/parse.d.ts +19 -0
  86. package/dist/src/git/parse.js +354 -0
  87. package/dist/src/git/parse.js.map +1 -0
  88. package/dist/src/git/types.d.ts +334 -0
  89. package/dist/src/git/types.js +135 -0
  90. package/dist/src/git/types.js.map +1 -0
  91. package/dist/src/index.d.ts +29 -7
  92. package/dist/src/index.js +20 -3
  93. package/dist/src/index.js.map +1 -1
  94. package/dist/src/inspect/shared.js.map +1 -1
  95. package/dist/src/markdown/convert.js +17 -11
  96. package/dist/src/markdown/convert.js.map +1 -1
  97. package/dist/src/output/tabular.js +25 -17
  98. package/dist/src/output/tabular.js.map +1 -1
  99. package/dist/src/output/tree.js +7 -7
  100. package/dist/src/output/tree.js.map +1 -1
  101. package/dist/src/parsers/docx.js +1 -1
  102. package/dist/src/parsers/docx.js.map +1 -1
  103. package/dist/src/parsers/index.js +9 -7
  104. package/dist/src/parsers/index.js.map +1 -1
  105. package/dist/src/parsers/pdf.js +1 -1
  106. package/dist/src/parsers/pdf.js.map +1 -1
  107. package/dist/src/parsers/pptx.js.map +1 -1
  108. package/dist/src/parsers/xlsx.js +5 -3
  109. package/dist/src/parsers/xlsx.js.map +1 -1
  110. package/dist/src/scc.js +9 -5
  111. package/dist/src/scc.js.map +1 -1
  112. package/dist/src/sheet/command.js +11 -7
  113. package/dist/src/sheet/command.js.map +1 -1
  114. package/dist/src/sheet/inspect.js +14 -14
  115. package/dist/src/sheet/inspect.js.map +1 -1
  116. package/dist/src/sheet/output.js +10 -15
  117. package/dist/src/sheet/output.js.map +1 -1
  118. package/dist/src/skills/command.d.ts +2 -0
  119. package/dist/src/skills/command.js +188 -0
  120. package/dist/src/skills/command.js.map +1 -0
  121. package/dist/src/slide/command.js +8 -6
  122. package/dist/src/slide/command.js.map +1 -1
  123. package/dist/src/slide/inspect-odp.js.map +1 -1
  124. package/dist/src/slide/inspect-pptx.js +5 -2
  125. package/dist/src/slide/inspect-pptx.js.map +1 -1
  126. package/dist/src/slide/inspect.js +4 -2
  127. package/dist/src/slide/inspect.js.map +1 -1
  128. package/dist/src/slide/output.js +10 -15
  129. package/dist/src/slide/output.js.map +1 -1
  130. package/dist/src/slide/types.js.map +1 -1
  131. package/dist/src/stats.js +31 -3
  132. package/dist/src/stats.js.map +1 -1
  133. package/dist/src/table/command.js +8 -6
  134. package/dist/src/table/command.js.map +1 -1
  135. package/dist/src/table/inspect-docx.js +1 -1
  136. package/dist/src/table/inspect-docx.js.map +1 -1
  137. package/dist/src/table/inspect-odt.js.map +1 -1
  138. package/dist/src/table/inspect-pptx.js +5 -2
  139. package/dist/src/table/inspect-pptx.js.map +1 -1
  140. package/dist/src/table/inspect-xlsx.js +1 -1
  141. package/dist/src/table/inspect-xlsx.js.map +1 -1
  142. package/dist/src/table/inspect.js +3 -1
  143. package/dist/src/table/inspect.js.map +1 -1
  144. package/dist/src/table/output.js +7 -11
  145. package/dist/src/table/output.js.map +1 -1
  146. package/dist/src/table/types.js.map +1 -1
  147. package/dist/src/tokens.js +1 -1
  148. package/dist/src/tokens.js.map +1 -1
  149. package/dist/src/utils.js +6 -11
  150. package/dist/src/utils.js.map +1 -1
  151. package/dist/src/walker.js +2 -4
  152. package/dist/src/walker.js.map +1 -1
  153. package/dist/src/workspace/analyze.js +4 -4
  154. package/dist/src/workspace/analyze.js.map +1 -1
  155. package/dist/src/workspace/bundle.js +57 -60
  156. package/dist/src/workspace/bundle.js.map +1 -1
  157. package/dist/src/workspace/command.js +31 -16
  158. package/dist/src/workspace/command.js.map +1 -1
  159. package/dist/src/workspace/describe-output.js +10 -9
  160. package/dist/src/workspace/describe-output.js.map +1 -1
  161. package/dist/src/workspace/describe.js +54 -47
  162. package/dist/src/workspace/describe.js.map +1 -1
  163. package/dist/src/workspace/documents.js +28 -8
  164. package/dist/src/workspace/documents.js.map +1 -1
  165. package/dist/src/workspace/prepare-runner.js.map +1 -1
  166. package/dist/src/workspace/prepare-types.js.map +1 -1
  167. package/dist/src/workspace/prepare.js +38 -19
  168. package/dist/src/workspace/prepare.js.map +1 -1
  169. package/dist/src/workspace/types.js +4 -2
  170. package/dist/src/workspace/types.js.map +1 -1
  171. package/package.json +57 -4
  172. package/scripts/postinstall.js +13 -9
  173. package/skills/occ/SKILL.md +77 -0
  174. package/skills/occ/reference/code.md +69 -0
  175. package/skills/occ/reference/commands.md +66 -0
  176. package/skills/occ/reference/documents.md +65 -0
  177. package/skills/occ/reference/git.md +55 -0
  178. package/skills/occ/reference/workspace.md +65 -0
@@ -0,0 +1,55 @@
1
+ # Git context
2
+
3
+ Inspect git changes, history, and churn. Shared flags: `--path <repo-root>`
4
+ (default cwd), `--base <ref>`, `--head <ref>`, `--staged`, `--format
5
+ tabular|json`, `-o <file>`. The diff range is resolved from `--base`/`--head`/
6
+ `--staged` (defaults to the working-tree changes when unspecified).
7
+
8
+ ## `occ git changed`
9
+
10
+ List changed files for the resolved diff range — a quick scope check.
11
+
12
+ ```bash
13
+ occ git changed --path .
14
+ occ git changed --base main --format json
15
+ ```
16
+
17
+ ## `occ git diff`
18
+
19
+ Summarize the resolved diff, or render it as a bounded patch.
20
+
21
+ ```bash
22
+ occ git diff --format json # summary (files, +/- counts)
23
+ occ git diff --patch --map-tokens 2048 --tokenizer o200k_base # raw patch, token-bounded
24
+ ```
25
+
26
+ Flags: `--patch` (raw unified diff instead of summary), `--map-tokens <n>` +
27
+ `--tokenizer` to cap patch size.
28
+
29
+ ## `occ git history [file]`
30
+
31
+ Show commit history for a range or a file (hash, author date, subject).
32
+
33
+ ```bash
34
+ occ git history src/cli.ts --limit 10
35
+ occ git history --since 2025-01-01 --format json
36
+ ```
37
+
38
+ Flags: `--limit <n>` (default 50), `--since <date>`, `--follow` (track renames),
39
+ `--line-start <n>` / `--line-end <n>` (for `git log -L` line history).
40
+
41
+ ## `occ git churn`
42
+
43
+ Rank changed files by churn — find hotspots worth attention.
44
+
45
+ ```bash
46
+ occ git churn --sort churn --limit 20 --format json
47
+ ```
48
+
49
+ Flags: `--sort churn|commits|added|deleted|net` (default churn), `--limit <n>`,
50
+ `--since <date>`.
51
+
52
+ ## Symbol-level changes
53
+
54
+ To see which _symbols_ (not just files/lines) changed, use `occ code diff`
55
+ (see [code.md](code.md)).
@@ -0,0 +1,65 @@
1
+ # Workspace reconnaissance
2
+
3
+ Use these to understand _what a directory is_ and inventory its contents before
4
+ reading anything in depth. All accept `--format json` and `-o <file>`.
5
+
6
+ ## `occ [directories...]` — the root scan
7
+
8
+ scc-style summary tables for office documents (and, by default, `scc` code metrics).
9
+
10
+ ```bash
11
+ occ docs/ reports/ # tabular metrics grouped by type
12
+ occ . --format json # machine-readable inventory
13
+ occ . --structure --format json # also extract heading trees (RAG-friendly, with char offsets)
14
+ occ . --quick # file count + size by extension, skip parsing (fast)
15
+ ```
16
+
17
+ Useful flags: `-f, --by-file` (row per file), `--include-ext`/`--exclude-ext`,
18
+ `--exclude-dir <dirs>` (default `node_modules,.git`), `--no-gitignore`,
19
+ `--sort files|name|words|size`, `--token-budget <n>` with `--tokenizer
20
+ heuristic|o200k_base|cl100k_base`, `--large-file-limit <mb>` (default 50),
21
+ `--no-code` (skip scc), `-o <file>`, `--ci` (ASCII only).
22
+
23
+ ## `occ describe [directories...]`
24
+
25
+ Quickly classify one or more directories from fast file and manifest signals
26
+ (is this a code / office / documentation / data / mixed project?).
27
+
28
+ ```bash
29
+ occ describe . --format json
30
+ occ describe apps/* --quiet # summary only
31
+ ```
32
+
33
+ Flags: `--full` (full report), `--quiet` (summary only), `--max-projects <n>`
34
+ (default 25), `--exclude-dir`, `--no-gitignore`, `-o`.
35
+
36
+ ## `occ workspace describe [rootDir]`
37
+
38
+ Same classification as `occ describe`, scoped to a single workspace root.
39
+
40
+ ## `occ workspace analyze [rootDir]`
41
+
42
+ Analyze workspace code, documents, and structures with a versioned JSON contract.
43
+ Defaults to `--format json`. This is the one-call snapshot for agents.
44
+
45
+ ```bash
46
+ occ workspace analyze . -o ws.json
47
+ occ workspace analyze . --no-documents # code + structures only
48
+ ```
49
+
50
+ Flags: `--no-code`, `--no-documents`, `--no-structures`, `--exclude-dir`,
51
+ `--large-file-limit <mb>`, `--no-gitignore`, `-o`.
52
+
53
+ ## `occ workspace documents [rootDir]`
54
+
55
+ Inspect workspace document summaries and cross-document references. Defaults to
56
+ `--format json`.
57
+
58
+ Flags: `--max-files <n>` (default 50), `--max-reference-files <n>` (default 20),
59
+ `--include-markdown`, `--exclude-dir`, `-o`.
60
+
61
+ ## Suggested sequence
62
+
63
+ 1. `occ describe . --format json` — what am I looking at?
64
+ 2. `occ workspace analyze . --format json -o ws.json` — full inventory.
65
+ 3. Drill into specifics with the code or document commands.