@cesarandreslopez/occ 0.9.2 → 0.10.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 (69) hide show
  1. package/README.md +62 -47
  2. package/dist/src/code/check.d.ts +39 -0
  3. package/dist/src/code/check.js +242 -0
  4. package/dist/src/code/check.js.map +1 -0
  5. package/dist/src/code/command.js +64 -0
  6. package/dist/src/code/command.js.map +1 -1
  7. package/dist/src/code/isolated-chunk-runner.d.ts +5 -0
  8. package/dist/src/code/isolated-chunk-runner.js +96 -0
  9. package/dist/src/code/isolated-chunk-runner.js.map +1 -0
  10. package/dist/src/code/isolated.d.ts +30 -2
  11. package/dist/src/code/isolated.js +110 -2
  12. package/dist/src/code/isolated.js.map +1 -1
  13. package/dist/src/code/languages.d.ts +13 -0
  14. package/dist/src/code/languages.js +115 -2
  15. package/dist/src/code/languages.js.map +1 -1
  16. package/dist/src/code/map.d.ts +9 -0
  17. package/dist/src/code/map.js +6 -0
  18. package/dist/src/code/map.js.map +1 -1
  19. package/dist/src/code/parsers.js +262 -0
  20. package/dist/src/code/parsers.js.map +1 -1
  21. package/dist/src/code/session.d.ts +2 -0
  22. package/dist/src/code/session.js +4 -0
  23. package/dist/src/code/session.js.map +1 -1
  24. package/dist/src/code/source.d.ts +44 -0
  25. package/dist/src/code/source.js +102 -0
  26. package/dist/src/code/source.js.map +1 -0
  27. package/dist/src/code/store.d.ts +10 -0
  28. package/dist/src/code/store.js +11 -0
  29. package/dist/src/code/store.js.map +1 -1
  30. package/dist/src/code/tree-sitter.d.ts +20 -0
  31. package/dist/src/code/tree-sitter.js +127 -0
  32. package/dist/src/code/tree-sitter.js.map +1 -0
  33. package/dist/src/index.d.ts +11 -4
  34. package/dist/src/index.js +7 -2
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/progress-event.d.ts +8 -0
  37. package/dist/src/workspace/bundle-io.d.ts +9 -1
  38. package/dist/src/workspace/bundle-io.js +59 -18
  39. package/dist/src/workspace/bundle-io.js.map +1 -1
  40. package/dist/src/workspace/bundle.js +55 -1
  41. package/dist/src/workspace/bundle.js.map +1 -1
  42. package/package.json +18 -2
  43. package/skills/occ/SKILL.md +16 -5
  44. package/skills/occ/reference/code.md +35 -2
  45. package/skills/occ/reference/commands.md +3 -1
  46. package/vendor/tree-sitter/c/grammar.wasm +0 -0
  47. package/vendor/tree-sitter/c/tags.scm +4 -0
  48. package/vendor/tree-sitter/c-sharp/grammar.wasm +0 -0
  49. package/vendor/tree-sitter/c-sharp/tags.scm +6 -0
  50. package/vendor/tree-sitter/cpp/grammar.wasm +0 -0
  51. package/vendor/tree-sitter/cpp/tags.scm +5 -0
  52. package/vendor/tree-sitter/go/grammar.wasm +0 -0
  53. package/vendor/tree-sitter/go/tags.scm +4 -0
  54. package/vendor/tree-sitter/java/grammar.wasm +0 -0
  55. package/vendor/tree-sitter/java/tags.scm +7 -0
  56. package/vendor/tree-sitter/kotlin/grammar.wasm +0 -0
  57. package/vendor/tree-sitter/kotlin/tags.scm +4 -0
  58. package/vendor/tree-sitter/php/grammar.wasm +0 -0
  59. package/vendor/tree-sitter/php/tags.scm +8 -0
  60. package/vendor/tree-sitter/python/grammar.wasm +0 -0
  61. package/vendor/tree-sitter/python/tags.scm +3 -0
  62. package/vendor/tree-sitter/ruby/grammar.wasm +0 -0
  63. package/vendor/tree-sitter/ruby/tags.scm +5 -0
  64. package/vendor/tree-sitter/rust/grammar.wasm +0 -0
  65. package/vendor/tree-sitter/rust/tags.scm +5 -0
  66. package/vendor/tree-sitter/scala/grammar.wasm +0 -0
  67. package/vendor/tree-sitter/scala/tags.scm +5 -0
  68. package/vendor/tree-sitter/swift/grammar.wasm +0 -0
  69. package/vendor/tree-sitter/swift/tags.scm +4 -0
@@ -12,5 +12,13 @@ export interface ProgressEvent {
12
12
  totalBytes?: number;
13
13
  startedAt?: number;
14
14
  elapsedMs?: number;
15
+ parentReadStartedAt?: number;
16
+ parentReadFinishedAt?: number;
17
+ parentReadDurationMs?: number;
18
+ section?: string;
19
+ sectionStartedAt?: number;
20
+ sectionFinishedAt?: number;
21
+ sectionDurationMs?: number;
22
+ cleanupDurationMs?: number;
15
23
  }
16
24
  export type OnProgress = (event: ProgressEvent) => void;
@@ -10,6 +10,14 @@ type SectionedBundle = {
10
10
  corpusChunks?: unknown[];
11
11
  codeDocumentReferences?: unknown[];
12
12
  };
13
+ export interface SectionedWorkspaceBundleReadTiming {
14
+ section: string;
15
+ startedAt: number;
16
+ finishedAt: number;
17
+ durationMs: number;
18
+ present: boolean;
19
+ }
20
+ export type OnSectionedWorkspaceBundleReadTiming = (timing: SectionedWorkspaceBundleReadTiming) => void;
13
21
  export declare function writeSectionedWorkspaceBundle(directory: string, bundle: SectionedBundle, signal?: AbortSignal): Promise<void>;
14
- export declare function readSectionedWorkspaceBundle<TBundle extends SectionedBundle = SectionedBundle>(directory: string, signal?: AbortSignal, yielder?: Yielder): Promise<TBundle>;
22
+ export declare function readSectionedWorkspaceBundle<TBundle extends SectionedBundle = SectionedBundle>(directory: string, signal?: AbortSignal, yielder?: Yielder, onTiming?: OnSectionedWorkspaceBundleReadTiming): Promise<TBundle>;
15
23
  export {};
@@ -29,6 +29,32 @@ async function exists(filePath) {
29
29
  return false;
30
30
  }
31
31
  }
32
+ async function timedSection(section, read, onTiming) {
33
+ const startedAt = Date.now();
34
+ try {
35
+ const result = await read();
36
+ const finishedAt = Date.now();
37
+ onTiming?.({
38
+ section,
39
+ startedAt,
40
+ finishedAt,
41
+ durationMs: finishedAt - startedAt,
42
+ present: result.present,
43
+ });
44
+ return result.value;
45
+ }
46
+ catch (error) {
47
+ const finishedAt = Date.now();
48
+ onTiming?.({
49
+ section,
50
+ startedAt,
51
+ finishedAt,
52
+ durationMs: finishedAt - startedAt,
53
+ present: false,
54
+ });
55
+ throw error;
56
+ }
57
+ }
32
58
  export async function writeSectionedWorkspaceBundle(directory, bundle, signal) {
33
59
  await rm(directory, { recursive: true, force: true });
34
60
  await mkdir(directory, { recursive: true });
@@ -50,30 +76,45 @@ export async function writeSectionedWorkspaceBundle(directory, bundle, signal) {
50
76
  }
51
77
  await writeNdjsonFile(referencesPath(directory), codeDocumentReferences ?? [], signal);
52
78
  }
53
- export async function readSectionedWorkspaceBundle(directory, signal, yielder) {
79
+ export async function readSectionedWorkspaceBundle(directory, signal, yielder, onTiming) {
54
80
  abortIfNeeded(signal);
55
- const rawBundle = await readFile(bundleMetaPath(directory), 'utf8');
56
- const boundedBundle = JSON.parse(rawBundle);
81
+ const boundedBundle = await timedSection('bundle', async () => {
82
+ const rawBundle = await readFile(bundleMetaPath(directory), 'utf8');
83
+ return {
84
+ value: JSON.parse(rawBundle),
85
+ present: true,
86
+ };
87
+ }, onTiming);
57
88
  await yielder?.tick();
58
- const codeIndex = (await exists(codeIndexPath(directory)))
59
- ? (await readSectionedCodeIndex(codeIndexPath(directory), signal)).index
60
- : undefined;
89
+ const codeIndex = await timedSection('codeIndex', async () => {
90
+ if (!(await exists(codeIndexPath(directory))))
91
+ return { value: undefined, present: false };
92
+ return { value: (await readSectionedCodeIndex(codeIndexPath(directory), signal)).index, present: true };
93
+ }, onTiming);
61
94
  await yielder?.tick();
62
- const codeChunks = (await exists(codeChunksPath(directory)))
63
- ? await readNdjsonFile(codeChunksPath(directory), signal)
64
- : undefined;
95
+ const codeChunks = await timedSection('codeChunks', async () => {
96
+ if (!(await exists(codeChunksPath(directory))))
97
+ return { value: undefined, present: false };
98
+ return { value: await readNdjsonFile(codeChunksPath(directory), signal), present: true };
99
+ }, onTiming);
65
100
  await yielder?.tick();
66
- const documentChunks = (await exists(documentChunksPath(directory)))
67
- ? await readNdjsonFile(documentChunksPath(directory), signal)
68
- : undefined;
101
+ const documentChunks = await timedSection('documentChunks', async () => {
102
+ if (!(await exists(documentChunksPath(directory))))
103
+ return { value: undefined, present: false };
104
+ return { value: await readNdjsonFile(documentChunksPath(directory), signal), present: true };
105
+ }, onTiming);
69
106
  await yielder?.tick();
70
- const corpusChunks = (await exists(corpusChunksPath(directory)))
71
- ? await readNdjsonFile(corpusChunksPath(directory), signal)
72
- : undefined;
107
+ const corpusChunks = await timedSection('corpusChunks', async () => {
108
+ if (!(await exists(corpusChunksPath(directory))))
109
+ return { value: undefined, present: false };
110
+ return { value: await readNdjsonFile(corpusChunksPath(directory), signal), present: true };
111
+ }, onTiming);
73
112
  await yielder?.tick();
74
- const codeDocumentReferences = (await exists(referencesPath(directory)))
75
- ? await readNdjsonFile(referencesPath(directory), signal)
76
- : [];
113
+ const codeDocumentReferences = await timedSection('codeDocumentReferences', async () => {
114
+ if (!(await exists(referencesPath(directory))))
115
+ return { value: [], present: false };
116
+ return { value: await readNdjsonFile(referencesPath(directory), signal), present: true };
117
+ }, onTiming);
77
118
  await yielder?.tick();
78
119
  return {
79
120
  ...boundedBundle,
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-io.js","sourceRoot":"","sources":["../../../src/workspace/bundle-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle-io.js","sourceRoot":"","sources":["../../../src/workspace/bundle-io.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ const STEP_CODE_INDEX = { phase: 'index', detail: 'Build code index' };
25
25
  const STEP_CODE_CHUNK = { phase: 'code-chunk', detail: 'Chunk code files' };
26
26
  const STEP_DOCUMENT_CHUNK = { phase: 'document-chunk', detail: 'Chunk documents' };
27
27
  const STEP_OUTLINE = { phase: 'outline', detail: 'Build workspace outline' };
28
+ const SECTIONED_BUNDLE_READ_SECTIONS = 6;
28
29
  function reportStep(onProgress, step, completed, total, startedAt) {
29
30
  onProgress?.({
30
31
  phase: step.phase,
@@ -484,8 +485,61 @@ export async function bundleWorkspaceIsolated(rootDir, options = {}, onProgress)
484
485
  settled = true;
485
486
  void (async () => {
486
487
  try {
487
- const bundle = await readSectionedWorkspaceBundle(msg.resultPath, options.signal, resultReadYielder);
488
+ const parentReadStartedAt = Date.now();
489
+ let completedReadSections = 0;
490
+ progress?.({
491
+ phase: 'deserialize',
492
+ total: SECTIONED_BUNDLE_READ_SECTIONS,
493
+ completed: 0,
494
+ detail: 'Parent result read started',
495
+ scope: 'workspace-parent-read',
496
+ startedAt: parentReadStartedAt,
497
+ elapsedMs: 0,
498
+ parentReadStartedAt,
499
+ });
500
+ const reportSectionTiming = (timing) => {
501
+ progress?.({
502
+ phase: 'deserialize',
503
+ total: SECTIONED_BUNDLE_READ_SECTIONS,
504
+ completed: ++completedReadSections,
505
+ detail: `Parent read ${timing.section}`,
506
+ scope: 'workspace-parent-read',
507
+ startedAt: parentReadStartedAt,
508
+ elapsedMs: Date.now() - parentReadStartedAt,
509
+ parentReadStartedAt,
510
+ section: timing.section,
511
+ sectionStartedAt: timing.startedAt,
512
+ sectionFinishedAt: timing.finishedAt,
513
+ sectionDurationMs: timing.durationMs,
514
+ });
515
+ };
516
+ const bundle = await readSectionedWorkspaceBundle(msg.resultPath, options.signal, resultReadYielder, reportSectionTiming);
517
+ const parentReadFinishedAt = Date.now();
518
+ progress?.({
519
+ phase: 'deserialize',
520
+ total: SECTIONED_BUNDLE_READ_SECTIONS,
521
+ completed: SECTIONED_BUNDLE_READ_SECTIONS,
522
+ detail: 'Parent result read complete',
523
+ scope: 'workspace-parent-read',
524
+ startedAt: parentReadStartedAt,
525
+ elapsedMs: parentReadFinishedAt - parentReadStartedAt,
526
+ parentReadStartedAt,
527
+ parentReadFinishedAt,
528
+ parentReadDurationMs: parentReadFinishedAt - parentReadStartedAt,
529
+ });
530
+ const cleanupStartedAt = Date.now();
488
531
  await rm(msg.resultPath, { recursive: true, force: true }).catch(() => undefined);
532
+ const cleanupFinishedAt = Date.now();
533
+ progress?.({
534
+ phase: 'deserialize',
535
+ total: 1,
536
+ completed: 1,
537
+ detail: 'Parent result cleanup complete',
538
+ scope: 'workspace-parent-cleanup',
539
+ startedAt: cleanupStartedAt,
540
+ elapsedMs: cleanupFinishedAt - cleanupStartedAt,
541
+ cleanupDurationMs: cleanupFinishedAt - cleanupStartedAt,
542
+ });
489
543
  cleanup();
490
544
  resolve(bundle);
491
545
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/workspace/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/workspace/bundle.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cesarandreslopez/occ",
3
- "version": "0.9.2",
3
+ "version": "0.10.0",
4
4
  "description": "Office Cloc and Count — document metrics, structure extraction, content inspection, and code exploration for real repositories",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -108,6 +108,14 @@
108
108
  "types": "./dist/src/code/diff.d.ts",
109
109
  "default": "./dist/src/code/diff.js"
110
110
  },
111
+ "./code/source": {
112
+ "types": "./dist/src/code/source.d.ts",
113
+ "default": "./dist/src/code/source.js"
114
+ },
115
+ "./code/check": {
116
+ "types": "./dist/src/code/check.d.ts",
117
+ "default": "./dist/src/code/check.js"
118
+ },
111
119
  "./git": {
112
120
  "types": "./dist/src/git/index.d.ts",
113
121
  "default": "./dist/src/git/index.js"
@@ -282,6 +290,12 @@
282
290
  "code/diff": [
283
291
  "dist/src/code/diff.d.ts"
284
292
  ],
293
+ "code/source": [
294
+ "dist/src/code/source.d.ts"
295
+ ],
296
+ "code/check": [
297
+ "dist/src/code/check.d.ts"
298
+ ],
285
299
  "git": [
286
300
  "dist/src/git/index.d.ts"
287
301
  ],
@@ -386,7 +400,8 @@
386
400
  "files": [
387
401
  "dist/",
388
402
  "scripts/postinstall.js",
389
- "skills/"
403
+ "skills/",
404
+ "vendor/tree-sitter/"
390
405
  ],
391
406
  "publishConfig": {
392
407
  "access": "public"
@@ -415,6 +430,7 @@
415
430
  "pdf-parse": "^1.1.4",
416
431
  "turndown": "^7.2.2",
417
432
  "typescript": "^5.9.3",
433
+ "web-tree-sitter": "^0.26.10",
418
434
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
419
435
  "zod": "^4.3.6"
420
436
  },
@@ -7,13 +7,14 @@ description: >-
7
7
  with "occ describe" and "occ workspace analyze"; office-document and table
8
8
  triage for DOCX, PDF, XLSX, PPTX, ODT, ODS, and ODP with "occ doc inspect",
9
9
  "occ sheet inspect", "occ slide inspect", and "occ table inspect"; and code
10
- exploration for JS/TS, Vue SFC, and Python with "occ code map", "occ code
11
- pack", "occ code find", "occ code analyze", "occ code diff", and "occ git
12
- diff". Reach for it whenever you need to understand a codebase or a set of
10
+ exploration for JS/TS, Vue SFC, Python, Go, Rust, Java, C/C++, Kotlin, and
11
+ other tree-sitter-backed languages with "occ code map", "occ code source",
12
+ "occ code check", "occ code find", "occ code analyze", "occ code diff", and
13
+ "occ git diff". Reach for it whenever you need to understand a codebase or a set of
13
14
  office files without burning context reading everything, or whenever the user
14
15
  mentions occ.
15
16
  metadata:
16
- version: 0.9.2
17
+ version: 0.10.0
17
18
  license: MIT
18
19
  ---
19
20
 
@@ -30,6 +31,10 @@ Design principles to lean on:
30
31
  - **Token-budgeted** — `occ code map/pack` and `occ code diff` accept `--map-tokens <n>`
31
32
  (and the root scan accepts `--token-budget <n>`). Pair with `--tokenizer o200k_base`
32
33
  (or `cl100k_base`) for an _exact_ BPE budget instead of the default heuristic estimate.
34
+ - **Structural for named symbols/relations, shell for text/config/quick facts** — use
35
+ `occ code map`, `occ code find name`, `occ code source`, and `occ code analyze callers`
36
+ when the target is a symbol, call path, class tree, or import relationship. Use `rg`,
37
+ `grep`, or direct file reads for strings, config keys, generated files, and one-off facts.
33
38
  - **Stream large output to a file** — for big maps/packs/analyses, add `-o <file>` and
34
39
  read it back selectively rather than flooding the conversation.
35
40
 
@@ -59,6 +64,8 @@ Run `occ --help` or `occ <group> --help` to see every flag.
59
64
  | Pull file _contents_ within a token budget | `occ code pack --path . --map-tokens 8000 --tokenizer o200k_base -o pack.md` | [reference/code.md](reference/code.md) |
60
65
  | Find a symbol / concept (best-effort) | `occ code find fused "<query>" --format json` | [reference/code.md](reference/code.md) |
61
66
  | Find an exact symbol by name or type | `occ code find name <Name> --format json` | [reference/code.md](reference/code.md) |
67
+ | Read one known symbol body | `occ code source --node-id <nodeId> --format json` | [reference/code.md](reference/code.md) |
68
+ | Check parse syntax after edits | `occ code check <file> --format json` | [reference/code.md](reference/code.md) |
62
69
  | See who calls X / what X calls | `occ code analyze callers <fn>` · `occ code analyze calls <fn>` | [reference/code.md](reference/code.md) |
63
70
  | Inspect imports / module coupling | `occ code analyze deps <target>` · `occ code analyze coupling <target>` | [reference/code.md](reference/code.md) |
64
71
  | See which _symbols_ changed in a diff | `occ code diff --base <ref> --map-tokens 4096 --format json` | [reference/code.md](reference/code.md) |
@@ -67,11 +74,15 @@ Run `occ --help` or `occ <group> --help` to see every flag.
67
74
  ## Recommended agent workflows
68
75
 
69
76
  - **Land in a new repo:** `occ describe . --format json` → `occ code map --path . --map-tokens 8000 --tokenizer o200k_base -o map.md`, read the map, then drill in with `occ code find` / `occ code analyze`.
77
+ - **Read a symbol precisely:** `occ code map --map-format json` → take `nodeId` from the relevant symbol → `occ code source --node-id <nodeId> --format json`.
78
+ - **Find name then read:** `occ code find name TypeName --format json` → if one match, `occ code source --node-id <nodeId>`; if ambiguous, rerun with `--file` or `--type`.
79
+ - **Trace impact:** `occ code analyze callers targetFn --format json` before broad text search; use candidates and valid node kinds from ambiguous output to refine the query.
80
+ - **Post-edit syntax gate:** run `occ code check <changed-file> --format json`; it exits nonzero only when `valid` is `false`.
70
81
  - **Review a change:** `occ git changed` → `occ code diff --base <base> --format json` for symbol-level scope → `occ git diff --patch --map-tokens 4096` for a bounded patch.
71
82
  - **Process a document drop:** `occ <dir> --format json` for the inventory → `occ doc/sheet/slide inspect --format json` per file → `occ table inspect` to pull tabular data → read only what matters.
72
83
 
73
84
  ## Notes
74
85
 
75
86
  - For the full flag list of every command, read [reference/commands.md](reference/commands.md).
76
- - Languages with first-class code support: JavaScript, TypeScript, Vue SFC, and Python.
87
+ - Languages with first-class code support: JavaScript, TypeScript, Vue SFC, Python, Go, Rust, Java, C/C++, Kotlin, Ruby, PHP, C#, Scala, and Swift.
77
88
  - `--format json` is the integration surface; tabular output is for humans.
@@ -1,7 +1,8 @@
1
1
  # Code exploration for agents
2
2
 
3
- `occ code` builds an in-memory code graph (no database, no daemon) for JS/TS,
4
- Vue SFC, and Python. Shared flags on every `code` subcommand: `--path
3
+ `occ code` builds an in-memory code graph (no database, no daemon) for JS/TS
4
+ and Vue SFC (type-accurate) plus Python, Go, Rust, Java, C/C++, C#, Kotlin,
5
+ Scala, Swift, Ruby, and PHP (tree-sitter). Shared flags on every `code` subcommand: `--path
5
6
  <repo-root>` (default cwd), `--format json`, `-o <file>`, `--exclude-dir`,
6
7
  `--no-gitignore`, `--content-mode none|excerpt|full`, `--max-file-size-bytes
7
8
  <n>`, `--max-lines <n>`.
@@ -41,6 +42,38 @@ occ code map --path . --changed-from main --map-tokens 4096 # diff-focused map
41
42
 
42
43
  All accept `--limit <n>` (default 50) and `--format json`.
43
44
 
45
+ ## Source reads — `occ code source`
46
+
47
+ Use `source` when you already know the symbol and need its exact body without
48
+ reading the whole file. Prefer this for named symbols; use `rg`/shell reads for
49
+ text, config, and quick facts.
50
+
51
+ ```bash
52
+ occ code map --path . --map-format json --map-tokens 4096 -o map.json
53
+ occ code source --path . --node-id "<nodeId>" --format json
54
+ occ code source bootstrap --path . --file src/main.ts --type function --format json
55
+ ```
56
+
57
+ JSON repo-map symbols include `nodeId`, `endLine`, and `containerName`. The
58
+ current node-id contract is OCC's existing graph id derived from the indexed
59
+ node: `<type>:<absolute-path>:<name>:<line>[:<containerName>]`. The line number
60
+ is part of the address, so ids can change after edits; re-run `code map` or
61
+ `code find name` after moving a symbol.
62
+
63
+ ## Syntax checks — `occ code check`
64
+
65
+ Use `check` as a lightweight post-edit parse gate before wider tests. It supports
66
+ TS/JS, Vue SFCs, Python, and the vendored tree-sitter languages (Go, Rust, Java,
67
+ C/C++, C#, Kotlin, Scala, Swift, Ruby, PHP); unsupported files exit 0 with
68
+ `status: "unsupported"` so they do not fail CI accidentally.
69
+
70
+ ```bash
71
+ occ code check src/main.ts --format json
72
+ occ code check src/App.vue --format json
73
+ ```
74
+
75
+ `occ code check` exits nonzero only when `valid` is `false`.
76
+
44
77
  ## Relationships — `occ code analyze <kind>`
45
78
 
46
79
  - `occ code analyze calls <fn>` — what a function calls (outgoing).
@@ -33,11 +33,13 @@ tabular|json`, `-o <file>`, and `--ci`.
33
33
 
34
34
  - `occ table inspect <file>` — Extract structured table data from DOCX, XLSX, PPTX, ODT, or ODP documents.
35
35
 
36
- ## `occ code` — Explore code structure with first-class JS/TS and Python support
36
+ ## `occ code` — Explore code structure (type-accurate JS/TS + Vue SFC, tree-sitter for 12 more languages)
37
37
 
38
38
  - `occ code map` — Token-budgeted, importance-ranked repo map (top symbol signatures per file).
39
39
  - `occ code pack` — Token-budgeted, importance-ranked pack (file content, optionally compressed).
40
40
  - `occ code index` — Build the full codebase index (files, symbols, edges, capabilities).
41
+ - `occ code source <name>` — Read one symbol body by node id (`--node-id`) or disambiguated name.
42
+ - `occ code check <file>` — Check a file's syntax without a language server (exits nonzero only when invalid).
41
43
  - `occ code find name <name>` — Find code elements by exact name.
42
44
  - `occ code find pattern <pattern>` — Find code elements by substring pattern.
43
45
  - `occ code find type <nodeType>` — List all nodes of a given type.
@@ -0,0 +1,4 @@
1
+ (function_definition) @definition.function
2
+ (struct_specifier) @definition.class
3
+ (enum_specifier) @definition.enum
4
+ (call_expression) @reference.call
@@ -0,0 +1,6 @@
1
+ (method_declaration) @definition.method
2
+ (constructor_declaration) @definition.method
3
+ (class_declaration) @definition.class
4
+ (interface_declaration) @definition.interface
5
+ (invocation_expression) @reference.call
6
+ (object_creation_expression) @reference.call
@@ -0,0 +1,5 @@
1
+ (function_definition) @definition.function
2
+ (class_specifier) @definition.class
3
+ (struct_specifier) @definition.class
4
+ (enum_specifier) @definition.enum
5
+ (call_expression) @reference.call
@@ -0,0 +1,4 @@
1
+ (function_declaration) @definition.function
2
+ (method_declaration) @definition.method
3
+ (type_declaration) @definition.type
4
+ (call_expression) @reference.call
@@ -0,0 +1,7 @@
1
+ (method_declaration) @definition.method
2
+ (constructor_declaration) @definition.method
3
+ (class_declaration) @definition.class
4
+ (interface_declaration) @definition.interface
5
+ (enum_declaration) @definition.enum
6
+ (method_invocation) @reference.call
7
+ (object_creation_expression) @reference.call
@@ -0,0 +1,4 @@
1
+ (function_declaration) @definition.function
2
+ (class_declaration) @definition.class
3
+ (object_declaration) @definition.class
4
+ (call_expression) @reference.call
@@ -0,0 +1,8 @@
1
+ (function_definition) @definition.function
2
+ (method_declaration) @definition.method
3
+ (class_declaration) @definition.class
4
+ (interface_declaration) @definition.interface
5
+ (trait_declaration) @definition.class
6
+ (function_call_expression) @reference.call
7
+ (member_call_expression) @reference.call
8
+ (scoped_call_expression) @reference.call