@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.
- package/README.md +167 -79
- package/dist/src/cli-validation.js +3 -11
- package/dist/src/cli-validation.js.map +1 -1
- package/dist/src/cli.js +23 -11
- package/dist/src/cli.js.map +1 -1
- package/dist/src/code/build.js +28 -22
- package/dist/src/code/build.js.map +1 -1
- package/dist/src/code/cache.js +3 -1
- package/dist/src/code/cache.js.map +1 -1
- package/dist/src/code/chunk.js +4 -4
- package/dist/src/code/chunk.js.map +1 -1
- package/dist/src/code/command.js +147 -37
- package/dist/src/code/command.js.map +1 -1
- package/dist/src/code/diff.d.ts +264 -0
- package/dist/src/code/diff.js +504 -0
- package/dist/src/code/diff.js.map +1 -0
- package/dist/src/code/discover.js +5 -5
- package/dist/src/code/discover.js.map +1 -1
- package/dist/src/code/focus.js +5 -5
- package/dist/src/code/focus.js.map +1 -1
- package/dist/src/code/incremental.js +11 -9
- package/dist/src/code/incremental.js.map +1 -1
- package/dist/src/code/index-io.js.map +1 -1
- package/dist/src/code/isolated-runner.js.map +1 -1
- package/dist/src/code/isolated.js +2 -2
- package/dist/src/code/isolated.js.map +1 -1
- package/dist/src/code/languages.js +2 -2
- package/dist/src/code/languages.js.map +1 -1
- package/dist/src/code/map.d.ts +12 -0
- package/dist/src/code/map.js +22 -9
- package/dist/src/code/map.js.map +1 -1
- package/dist/src/code/output.d.ts +3 -0
- package/dist/src/code/output.js +39 -22
- package/dist/src/code/output.js.map +1 -1
- package/dist/src/code/parsers.js +87 -26
- package/dist/src/code/parsers.js.map +1 -1
- package/dist/src/code/query.js +44 -38
- package/dist/src/code/query.js.map +1 -1
- package/dist/src/code/rank.js +30 -17
- package/dist/src/code/rank.js.map +1 -1
- package/dist/src/code/session.js.map +1 -1
- package/dist/src/code/slim.js.map +1 -1
- package/dist/src/code/store.js +35 -23
- package/dist/src/code/store.js.map +1 -1
- package/dist/src/code/types.js +15 -3
- package/dist/src/code/types.js.map +1 -1
- package/dist/src/doc/batch.js +6 -2
- package/dist/src/doc/batch.js.map +1 -1
- package/dist/src/doc/chunk.js +9 -5
- package/dist/src/doc/chunk.js.map +1 -1
- package/dist/src/doc/command.js +18 -9
- package/dist/src/doc/command.js.map +1 -1
- package/dist/src/doc/discover.d.ts +1 -1
- package/dist/src/doc/discover.js.map +1 -1
- package/dist/src/doc/entities.js +90 -10
- package/dist/src/doc/entities.js.map +1 -1
- package/dist/src/doc/inspect-docx.js +5 -4
- package/dist/src/doc/inspect-docx.js.map +1 -1
- package/dist/src/doc/inspect-odt.js.map +1 -1
- package/dist/src/doc/inspect-pdf.js +1 -1
- package/dist/src/doc/inspect-pdf.js.map +1 -1
- package/dist/src/doc/inspect.js +4 -4
- package/dist/src/doc/inspect.js.map +1 -1
- package/dist/src/doc/output.js +11 -8
- package/dist/src/doc/output.js.map +1 -1
- package/dist/src/doc/references.js +4 -4
- package/dist/src/doc/references.js.map +1 -1
- package/dist/src/errors.js +2 -4
- package/dist/src/errors.js.map +1 -1
- package/dist/src/git/api.d.ts +34 -0
- package/dist/src/git/api.js +247 -0
- package/dist/src/git/api.js.map +1 -0
- package/dist/src/git/client.d.ts +48 -0
- package/dist/src/git/client.js +336 -0
- package/dist/src/git/client.js.map +1 -0
- package/dist/src/git/command.d.ts +2 -0
- package/dist/src/git/command.js +173 -0
- package/dist/src/git/command.js.map +1 -0
- package/dist/src/git/index.d.ts +5 -0
- package/dist/src/git/index.js +6 -0
- package/dist/src/git/index.js.map +1 -0
- package/dist/src/git/output.d.ts +8 -0
- package/dist/src/git/output.js +38 -0
- package/dist/src/git/output.js.map +1 -0
- package/dist/src/git/parse.d.ts +19 -0
- package/dist/src/git/parse.js +354 -0
- package/dist/src/git/parse.js.map +1 -0
- package/dist/src/git/types.d.ts +334 -0
- package/dist/src/git/types.js +135 -0
- package/dist/src/git/types.js.map +1 -0
- package/dist/src/index.d.ts +29 -7
- package/dist/src/index.js +20 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/inspect/shared.js.map +1 -1
- package/dist/src/markdown/convert.js +17 -11
- package/dist/src/markdown/convert.js.map +1 -1
- package/dist/src/output/tabular.js +25 -17
- package/dist/src/output/tabular.js.map +1 -1
- package/dist/src/output/tree.js +7 -7
- package/dist/src/output/tree.js.map +1 -1
- package/dist/src/parsers/docx.js +1 -1
- package/dist/src/parsers/docx.js.map +1 -1
- package/dist/src/parsers/index.js +9 -7
- package/dist/src/parsers/index.js.map +1 -1
- package/dist/src/parsers/pdf.js +1 -1
- package/dist/src/parsers/pdf.js.map +1 -1
- package/dist/src/parsers/pptx.js.map +1 -1
- package/dist/src/parsers/xlsx.js +5 -3
- package/dist/src/parsers/xlsx.js.map +1 -1
- package/dist/src/scc.js +9 -5
- package/dist/src/scc.js.map +1 -1
- package/dist/src/sheet/command.js +11 -7
- package/dist/src/sheet/command.js.map +1 -1
- package/dist/src/sheet/inspect.js +14 -14
- package/dist/src/sheet/inspect.js.map +1 -1
- package/dist/src/sheet/output.js +10 -15
- package/dist/src/sheet/output.js.map +1 -1
- package/dist/src/skills/command.d.ts +2 -0
- package/dist/src/skills/command.js +188 -0
- package/dist/src/skills/command.js.map +1 -0
- package/dist/src/slide/command.js +8 -6
- package/dist/src/slide/command.js.map +1 -1
- package/dist/src/slide/inspect-odp.js.map +1 -1
- package/dist/src/slide/inspect-pptx.js +5 -2
- package/dist/src/slide/inspect-pptx.js.map +1 -1
- package/dist/src/slide/inspect.js +4 -2
- package/dist/src/slide/inspect.js.map +1 -1
- package/dist/src/slide/output.js +10 -15
- package/dist/src/slide/output.js.map +1 -1
- package/dist/src/slide/types.js.map +1 -1
- package/dist/src/stats.js +31 -3
- package/dist/src/stats.js.map +1 -1
- package/dist/src/table/command.js +8 -6
- package/dist/src/table/command.js.map +1 -1
- package/dist/src/table/inspect-docx.js +1 -1
- package/dist/src/table/inspect-docx.js.map +1 -1
- package/dist/src/table/inspect-odt.js.map +1 -1
- package/dist/src/table/inspect-pptx.js +5 -2
- package/dist/src/table/inspect-pptx.js.map +1 -1
- package/dist/src/table/inspect-xlsx.js +1 -1
- package/dist/src/table/inspect-xlsx.js.map +1 -1
- package/dist/src/table/inspect.js +3 -1
- package/dist/src/table/inspect.js.map +1 -1
- package/dist/src/table/output.js +7 -11
- package/dist/src/table/output.js.map +1 -1
- package/dist/src/table/types.js.map +1 -1
- package/dist/src/tokens.js +1 -1
- package/dist/src/tokens.js.map +1 -1
- package/dist/src/utils.js +6 -11
- package/dist/src/utils.js.map +1 -1
- package/dist/src/walker.js +2 -4
- package/dist/src/walker.js.map +1 -1
- package/dist/src/workspace/analyze.js +4 -4
- package/dist/src/workspace/analyze.js.map +1 -1
- package/dist/src/workspace/bundle.js +57 -60
- package/dist/src/workspace/bundle.js.map +1 -1
- package/dist/src/workspace/command.js +31 -16
- package/dist/src/workspace/command.js.map +1 -1
- package/dist/src/workspace/describe-output.js +10 -9
- package/dist/src/workspace/describe-output.js.map +1 -1
- package/dist/src/workspace/describe.js +54 -47
- package/dist/src/workspace/describe.js.map +1 -1
- package/dist/src/workspace/documents.js +28 -8
- package/dist/src/workspace/documents.js.map +1 -1
- package/dist/src/workspace/prepare-runner.js.map +1 -1
- package/dist/src/workspace/prepare-types.js.map +1 -1
- package/dist/src/workspace/prepare.js +38 -19
- package/dist/src/workspace/prepare.js.map +1 -1
- package/dist/src/workspace/types.js +4 -2
- package/dist/src/workspace/types.js.map +1 -1
- package/package.json +57 -4
- package/scripts/postinstall.js +13 -9
- package/skills/occ/SKILL.md +77 -0
- package/skills/occ/reference/code.md +69 -0
- package/skills/occ/reference/commands.md +66 -0
- package/skills/occ/reference/documents.md +65 -0
- package/skills/occ/reference/git.md +55 -0
- package/skills/occ/reference/workspace.md +65 -0
|
@@ -14,7 +14,7 @@ function resolveExecutionMode(options) {
|
|
|
14
14
|
if (mode === 'subprocess')
|
|
15
15
|
return 'subprocess';
|
|
16
16
|
// auto: subprocess when code indexing is enabled
|
|
17
|
-
return
|
|
17
|
+
return options.includeCode !== false ? 'subprocess' : 'inline';
|
|
18
18
|
}
|
|
19
19
|
function mapCodeProgress(event, onProgress) {
|
|
20
20
|
onProgress({
|
|
@@ -41,7 +41,7 @@ async function buildCodeInline(rootDir, options, onProgress) {
|
|
|
41
41
|
maxFileSizeBytes: options.maxFileSizeBytes,
|
|
42
42
|
maxLines: options.maxLines,
|
|
43
43
|
skipMinified: options.skipMinified,
|
|
44
|
-
}, onProgress ?
|
|
44
|
+
}, onProgress ? event => mapCodeProgress(event, onProgress) : undefined, options.signal);
|
|
45
45
|
}
|
|
46
46
|
async function buildCodeSubprocess(rootDir, options, onProgress) {
|
|
47
47
|
const runnerPath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), 'prepare-runner.js');
|
|
@@ -105,12 +105,12 @@ async function buildCodeSubprocess(rootDir, options, onProgress) {
|
|
|
105
105
|
reject(new Error(msg.message ?? 'Subprocess failed'));
|
|
106
106
|
}
|
|
107
107
|
});
|
|
108
|
-
child.on('error',
|
|
108
|
+
child.on('error', err => {
|
|
109
109
|
settled = true;
|
|
110
110
|
cleanup();
|
|
111
111
|
reject(err);
|
|
112
112
|
});
|
|
113
|
-
child.on('close',
|
|
113
|
+
child.on('close', code => {
|
|
114
114
|
if (settled)
|
|
115
115
|
return;
|
|
116
116
|
cleanup();
|
|
@@ -148,7 +148,15 @@ export async function prepareWorkspaceContext(rootDir, options = {}, onProgress)
|
|
|
148
148
|
const includeCode = options.includeCode !== false;
|
|
149
149
|
const includeDocuments = options.includeDocuments !== false;
|
|
150
150
|
abortIfNeeded(options.signal);
|
|
151
|
-
onProgress?.({
|
|
151
|
+
onProgress?.({
|
|
152
|
+
scope: 'prepare',
|
|
153
|
+
stage: 'start',
|
|
154
|
+
phase: 'start',
|
|
155
|
+
completed: 0,
|
|
156
|
+
total: 1,
|
|
157
|
+
detail: 'Starting workspace preparation',
|
|
158
|
+
startedAt,
|
|
159
|
+
});
|
|
152
160
|
// Phase 1: Code indexing
|
|
153
161
|
let codeResult = null;
|
|
154
162
|
if (includeCode) {
|
|
@@ -187,19 +195,21 @@ export async function prepareWorkspaceContext(rootDir, options = {}, onProgress)
|
|
|
187
195
|
maxFiles: options.maxFiles,
|
|
188
196
|
maxReferenceFiles: options.maxReferenceFiles,
|
|
189
197
|
includeMarkdown: options.includeMarkdown,
|
|
190
|
-
}, onProgress
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
198
|
+
}, onProgress
|
|
199
|
+
? event => {
|
|
200
|
+
onProgress({
|
|
201
|
+
scope: 'documents',
|
|
202
|
+
stage: event.phase,
|
|
203
|
+
phase: event.phase,
|
|
204
|
+
completed: event.completed,
|
|
205
|
+
total: event.total,
|
|
206
|
+
detail: event.detail,
|
|
207
|
+
currentPath: event.currentPath,
|
|
208
|
+
startedAt: event.startedAt,
|
|
209
|
+
elapsedMs: event.elapsedMs,
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
: undefined);
|
|
203
213
|
documentsResult = docSet;
|
|
204
214
|
for (const err of docSet.errors) {
|
|
205
215
|
errors.push(`Document error${err.path ? ` (${err.path})` : ''}: ${err.message}`);
|
|
@@ -213,7 +223,16 @@ export async function prepareWorkspaceContext(rootDir, options = {}, onProgress)
|
|
|
213
223
|
}
|
|
214
224
|
}
|
|
215
225
|
const elapsedMs = Date.now() - startedAt;
|
|
216
|
-
onProgress?.({
|
|
226
|
+
onProgress?.({
|
|
227
|
+
scope: 'prepare',
|
|
228
|
+
stage: 'complete',
|
|
229
|
+
phase: 'complete',
|
|
230
|
+
completed: 1,
|
|
231
|
+
total: 1,
|
|
232
|
+
detail: `Completed in ${elapsedMs}ms`,
|
|
233
|
+
startedAt,
|
|
234
|
+
elapsedMs,
|
|
235
|
+
});
|
|
217
236
|
return {
|
|
218
237
|
rootDir: resolvedRoot,
|
|
219
238
|
code: codeResult,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/workspace/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/workspace/prepare.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,9 +63,11 @@ export const WorkspaceAnalysisSchema = z.object({
|
|
|
63
63
|
rootDir: z.string(),
|
|
64
64
|
summary: WorkspaceAnalysisSummarySchema,
|
|
65
65
|
code: WorkspaceCodeAnalysisSchema.nullable(),
|
|
66
|
-
documents: z
|
|
66
|
+
documents: z
|
|
67
|
+
.object({
|
|
67
68
|
aggregates: WorkspaceDocumentAggregatesSchema,
|
|
68
|
-
})
|
|
69
|
+
})
|
|
70
|
+
.nullable(),
|
|
69
71
|
structures: z.array(WorkspaceStructureEntrySchema),
|
|
70
72
|
skipped: z.array(SkippedEntrySchema),
|
|
71
73
|
errors: z.array(WorkspaceErrorSchema),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/workspace/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/workspace/types.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.
|
|
3
|
+
"version": "0.9.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",
|
|
@@ -42,7 +42,14 @@
|
|
|
42
42
|
"ods",
|
|
43
43
|
"odp",
|
|
44
44
|
"cli",
|
|
45
|
-
"typescript"
|
|
45
|
+
"typescript",
|
|
46
|
+
"agent-skills",
|
|
47
|
+
"ai-agents",
|
|
48
|
+
"coding-agents",
|
|
49
|
+
"claude",
|
|
50
|
+
"claude-code",
|
|
51
|
+
"codex",
|
|
52
|
+
"skill"
|
|
46
53
|
],
|
|
47
54
|
"exports": {
|
|
48
55
|
".": {
|
|
@@ -97,6 +104,30 @@
|
|
|
97
104
|
"types": "./dist/src/code/store.d.ts",
|
|
98
105
|
"default": "./dist/src/code/store.js"
|
|
99
106
|
},
|
|
107
|
+
"./code/diff": {
|
|
108
|
+
"types": "./dist/src/code/diff.d.ts",
|
|
109
|
+
"default": "./dist/src/code/diff.js"
|
|
110
|
+
},
|
|
111
|
+
"./git": {
|
|
112
|
+
"types": "./dist/src/git/index.d.ts",
|
|
113
|
+
"default": "./dist/src/git/index.js"
|
|
114
|
+
},
|
|
115
|
+
"./git/types": {
|
|
116
|
+
"types": "./dist/src/git/types.d.ts",
|
|
117
|
+
"default": "./dist/src/git/types.js"
|
|
118
|
+
},
|
|
119
|
+
"./git/api": {
|
|
120
|
+
"types": "./dist/src/git/api.d.ts",
|
|
121
|
+
"default": "./dist/src/git/api.js"
|
|
122
|
+
},
|
|
123
|
+
"./git/client": {
|
|
124
|
+
"types": "./dist/src/git/client.d.ts",
|
|
125
|
+
"default": "./dist/src/git/client.js"
|
|
126
|
+
},
|
|
127
|
+
"./git/parse": {
|
|
128
|
+
"types": "./dist/src/git/parse.d.ts",
|
|
129
|
+
"default": "./dist/src/git/parse.js"
|
|
130
|
+
},
|
|
100
131
|
"./doc/inspect": {
|
|
101
132
|
"types": "./dist/src/doc/inspect.d.ts",
|
|
102
133
|
"default": "./dist/src/doc/inspect.js"
|
|
@@ -248,6 +279,24 @@
|
|
|
248
279
|
"code/store": [
|
|
249
280
|
"dist/src/code/store.d.ts"
|
|
250
281
|
],
|
|
282
|
+
"code/diff": [
|
|
283
|
+
"dist/src/code/diff.d.ts"
|
|
284
|
+
],
|
|
285
|
+
"git": [
|
|
286
|
+
"dist/src/git/index.d.ts"
|
|
287
|
+
],
|
|
288
|
+
"git/types": [
|
|
289
|
+
"dist/src/git/types.d.ts"
|
|
290
|
+
],
|
|
291
|
+
"git/api": [
|
|
292
|
+
"dist/src/git/api.d.ts"
|
|
293
|
+
],
|
|
294
|
+
"git/client": [
|
|
295
|
+
"dist/src/git/client.d.ts"
|
|
296
|
+
],
|
|
297
|
+
"git/parse": [
|
|
298
|
+
"dist/src/git/parse.d.ts"
|
|
299
|
+
],
|
|
251
300
|
"doc/inspect": [
|
|
252
301
|
"dist/src/doc/inspect.d.ts"
|
|
253
302
|
],
|
|
@@ -336,7 +385,8 @@
|
|
|
336
385
|
},
|
|
337
386
|
"files": [
|
|
338
387
|
"dist/",
|
|
339
|
-
"scripts/postinstall.js"
|
|
388
|
+
"scripts/postinstall.js",
|
|
389
|
+
"skills/"
|
|
340
390
|
],
|
|
341
391
|
"publishConfig": {
|
|
342
392
|
"access": "public"
|
|
@@ -344,6 +394,8 @@
|
|
|
344
394
|
"scripts": {
|
|
345
395
|
"build": "tsc",
|
|
346
396
|
"dev": "tsx bin/occ.ts",
|
|
397
|
+
"format": "prettier . --write --ignore-unknown",
|
|
398
|
+
"format:check": "prettier . --check --ignore-unknown",
|
|
347
399
|
"start": "node dist/bin/occ.js",
|
|
348
400
|
"test": "npm run build && node --import tsx --test test/*.test.ts",
|
|
349
401
|
"prepublishOnly": "npm run build",
|
|
@@ -370,6 +422,7 @@
|
|
|
370
422
|
"@types/node": "^25.3.5",
|
|
371
423
|
"@types/turndown": "^5.0.6",
|
|
372
424
|
"docx": "^9.6.0",
|
|
373
|
-
"
|
|
425
|
+
"prettier": "^3.8.4",
|
|
426
|
+
"tsx": "^4.22.4"
|
|
374
427
|
}
|
|
375
428
|
}
|
package/scripts/postinstall.js
CHANGED
|
@@ -30,14 +30,14 @@ const ARCH_MAP = {
|
|
|
30
30
|
|
|
31
31
|
// SHA-256 checksums from the official scc v3.7.0 release
|
|
32
32
|
const CHECKSUMS = {
|
|
33
|
-
'scc_Darwin_arm64.tar.gz':
|
|
33
|
+
'scc_Darwin_arm64.tar.gz': '376cbae670be59ee64f398de20e0694ec434bf8a9b842642952b0ab0be5f3961',
|
|
34
34
|
'scc_Darwin_x86_64.tar.gz': 'c3f7457856b9169ccb3c1dd14198e67f730bee065f24d9051bf52cdc2a719ecc',
|
|
35
|
-
'scc_Linux_arm64.tar.gz':
|
|
36
|
-
'scc_Linux_i386.tar.gz':
|
|
37
|
-
'scc_Linux_x86_64.tar.gz':
|
|
38
|
-
'scc_Windows_arm64.zip':
|
|
39
|
-
'scc_Windows_i386.zip':
|
|
40
|
-
'scc_Windows_x86_64.zip':
|
|
35
|
+
'scc_Linux_arm64.tar.gz': 'dcb05c6e993bb2d8d2da4765ff018f2e752325dd205a41698929c55e4123575d',
|
|
36
|
+
'scc_Linux_i386.tar.gz': '1de91dae8a927ac2063a99b520d9a474644db6827fe6f85e3d8f87a1def3b14d',
|
|
37
|
+
'scc_Linux_x86_64.tar.gz': '3d9d65b00ca874c2b29151abe7e1480736f5229edc3ce8e4b2791460cdfabf5a',
|
|
38
|
+
'scc_Windows_arm64.zip': 'fd114614c10382c9ed2e32d5455cc4b51960a9f71691c5c1ca42b31adea5b84d',
|
|
39
|
+
'scc_Windows_i386.zip': '7b887022c37dc79e79ae51897030a6ff2515ab7b124e7b2aabcb0fba15412b05',
|
|
40
|
+
'scc_Windows_x86_64.zip': '97abf9d55d4b79d3310536d576ccbdf5017aeb425780e850336120b6e67622e1',
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
function getAssetName() {
|
|
@@ -130,7 +130,9 @@ async function main() {
|
|
|
130
130
|
|
|
131
131
|
// Clean up extra files extracted from the archive (LICENSE, README, etc.)
|
|
132
132
|
for (const name of ['LICENSE', 'README.md']) {
|
|
133
|
-
try {
|
|
133
|
+
try {
|
|
134
|
+
unlinkSync(path.join(vendorDir, name));
|
|
135
|
+
} catch {}
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
console.log(`scc installed to ${sccPath}`);
|
|
@@ -139,7 +141,9 @@ async function main() {
|
|
|
139
141
|
console.warn('occ will fall back to scc on PATH at runtime.');
|
|
140
142
|
} finally {
|
|
141
143
|
// Clean up archive
|
|
142
|
-
try {
|
|
144
|
+
try {
|
|
145
|
+
unlinkSync(archivePath);
|
|
146
|
+
} catch {}
|
|
143
147
|
}
|
|
144
148
|
}
|
|
145
149
|
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: occ
|
|
3
|
+
description: >-
|
|
4
|
+
Use the occ CLI to explore unfamiliar repositories and office documents
|
|
5
|
+
efficiently for AI coding tasks. occ ("Office Cloc and Count") emits
|
|
6
|
+
token-budgeted, JSON-first output for three jobs: workspace reconnaissance
|
|
7
|
+
with "occ describe" and "occ workspace analyze"; office-document and table
|
|
8
|
+
triage for DOCX, PDF, XLSX, PPTX, ODT, ODS, and ODP with "occ doc inspect",
|
|
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
|
|
13
|
+
office files without burning context reading everything, or whenever the user
|
|
14
|
+
mentions occ.
|
|
15
|
+
metadata:
|
|
16
|
+
version: 0.9.0
|
|
17
|
+
license: MIT
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# occ — Office Cloc and Count
|
|
21
|
+
|
|
22
|
+
`occ` is a **read-only** analysis CLI that helps an agent understand a repository
|
|
23
|
+
or a set of office documents _cheaply_, before spending context reading files in
|
|
24
|
+
full. It never modifies the target project. It shells out to a vendored `scc`
|
|
25
|
+
for code metrics and to `git` for git context.
|
|
26
|
+
|
|
27
|
+
Design principles to lean on:
|
|
28
|
+
|
|
29
|
+
- **JSON-first** — pass `--format json` to almost any command for machine-parseable output.
|
|
30
|
+
- **Token-budgeted** — `occ code map/pack` and `occ code diff` accept `--map-tokens <n>`
|
|
31
|
+
(and the root scan accepts `--token-budget <n>`). Pair with `--tokenizer o200k_base`
|
|
32
|
+
(or `cl100k_base`) for an _exact_ BPE budget instead of the default heuristic estimate.
|
|
33
|
+
- **Stream large output to a file** — for big maps/packs/analyses, add `-o <file>` and
|
|
34
|
+
read it back selectively rather than flooding the conversation.
|
|
35
|
+
|
|
36
|
+
## Invocation
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
occ <command> ... # if installed globally (npm i -g @cesarandreslopez/occ)
|
|
40
|
+
npx @cesarandreslopez/occ <command> ... # without a global install
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Run `occ --help` or `occ <group> --help` to see every flag.
|
|
44
|
+
|
|
45
|
+
## Decision table — pick the right command
|
|
46
|
+
|
|
47
|
+
| If you need to… | Start with | Deep reference |
|
|
48
|
+
| ------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------ |
|
|
49
|
+
| Tell what kind of project a directory is | `occ describe <dir> --format json` | [reference/workspace.md](reference/workspace.md) |
|
|
50
|
+
| Inventory a whole workspace (code + docs + structure) | `occ workspace analyze <dir> --format json -o ws.json` | [reference/workspace.md](reference/workspace.md) |
|
|
51
|
+
| Inventory / cross-reference office docs in a tree | `occ workspace documents <dir> --format json` | [reference/workspace.md](reference/workspace.md) |
|
|
52
|
+
| Get document + code metrics for some directories | `occ <dirs> --format json --structure` | [reference/workspace.md](reference/workspace.md) |
|
|
53
|
+
| Preflight one DOCX / PDF / ODT before reading it | `occ doc inspect <file> --format json` | [reference/documents.md](reference/documents.md) |
|
|
54
|
+
| Preflight an XLSX workbook (schema, sheets, risks) | `occ sheet inspect <file> --format json` | [reference/documents.md](reference/documents.md) |
|
|
55
|
+
| Preflight a PPTX / ODP deck | `occ slide inspect <file> --format json` | [reference/documents.md](reference/documents.md) |
|
|
56
|
+
| Extract structured table data from a document | `occ table inspect <file> --format json` | [reference/documents.md](reference/documents.md) |
|
|
57
|
+
| Pull entities/keywords (emails, URLs, dates) from a doc | `occ doc entities <file>` | [reference/documents.md](reference/documents.md) |
|
|
58
|
+
| Get oriented in an unfamiliar codebase | `occ code map --path . --map-tokens 8000 --tokenizer o200k_base -o map.md` | [reference/code.md](reference/code.md) |
|
|
59
|
+
| 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
|
+
| Find a symbol / concept (best-effort) | `occ code find fused "<query>" --format json` | [reference/code.md](reference/code.md) |
|
|
61
|
+
| Find an exact symbol by name or type | `occ code find name <Name> --format json` | [reference/code.md](reference/code.md) |
|
|
62
|
+
| See who calls X / what X calls | `occ code analyze callers <fn>` · `occ code analyze calls <fn>` | [reference/code.md](reference/code.md) |
|
|
63
|
+
| Inspect imports / module coupling | `occ code analyze deps <target>` · `occ code analyze coupling <target>` | [reference/code.md](reference/code.md) |
|
|
64
|
+
| See which _symbols_ changed in a diff | `occ code diff --base <ref> --map-tokens 4096 --format json` | [reference/code.md](reference/code.md) |
|
|
65
|
+
| List changed files / bounded patch / churn | `occ git changed` · `occ git diff --patch --map-tokens 2048` · `occ git churn` | [reference/git.md](reference/git.md) |
|
|
66
|
+
|
|
67
|
+
## Recommended agent workflows
|
|
68
|
+
|
|
69
|
+
- **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`.
|
|
70
|
+
- **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
|
+
- **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
|
+
|
|
73
|
+
## Notes
|
|
74
|
+
|
|
75
|
+
- 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.
|
|
77
|
+
- `--format json` is the integration surface; tabular output is for humans.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Code exploration for agents
|
|
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
|
|
5
|
+
<repo-root>` (default cwd), `--format json`, `-o <file>`, `--exclude-dir`,
|
|
6
|
+
`--no-gitignore`, `--content-mode none|excerpt|full`, `--max-file-size-bytes
|
|
7
|
+
<n>`, `--max-lines <n>`.
|
|
8
|
+
|
|
9
|
+
## Orientation — `occ code map` / `occ code pack`
|
|
10
|
+
|
|
11
|
+
Token-budgeted, PageRank-ranked output. `map` emits top symbol _signatures_ per
|
|
12
|
+
file; `pack` emits file _content_ (optionally compressed). This is the primary
|
|
13
|
+
"understand this repo cheaply" tool.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
occ code map --path . --map-tokens 8000 --tokenizer o200k_base -o map.md
|
|
17
|
+
occ code pack --path . --map-tokens 8000 --tokenizer o200k_base -o pack.md
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Shared map/pack flags: `--map-tokens <n>` (default 4096; alias `--token-budget`),
|
|
21
|
+
`--tokenizer heuristic|o200k_base|cl100k_base`, `--map-format markdown|xml|json|plain`,
|
|
22
|
+
`--mode map|pack`, `--compress` (pack), `--max-symbols <n>`, `--no-bias-exports`.
|
|
23
|
+
|
|
24
|
+
Focus the map toward a task (boost relevant files/symbols):
|
|
25
|
+
`--query "<text>"`, `--focus-path <path>` (repeatable), `--focus-depth <n>`,
|
|
26
|
+
`--changed-from <ref>`, `--changed-to <ref>`, `--staged`.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
occ code map --path . --query "auth token refresh" --focus-path src/auth --map-tokens 4096
|
|
30
|
+
occ code map --path . --changed-from main --map-tokens 4096 # diff-focused map
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Search — `occ code find <mode>`
|
|
34
|
+
|
|
35
|
+
- `occ code find fused "<query>"` — combines name + pattern + content search with
|
|
36
|
+
rank fusion (`--weights name:3,pattern:2,content:1`). Best when unsure.
|
|
37
|
+
- `occ code find name <name>` — exact symbol name. `--file <path>` to disambiguate, `--type <node-type>`.
|
|
38
|
+
- `occ code find pattern <substr>` — substring match on names.
|
|
39
|
+
- `occ code find type <nodeType>` — list all nodes of a type (`file|module|function|class|interface|type-alias|enum|variable`).
|
|
40
|
+
- `occ code find content <text>` — full-text search (auto-upgrades to `--content-mode full`).
|
|
41
|
+
|
|
42
|
+
All accept `--limit <n>` (default 50) and `--format json`.
|
|
43
|
+
|
|
44
|
+
## Relationships — `occ code analyze <kind>`
|
|
45
|
+
|
|
46
|
+
- `occ code analyze calls <fn>` — what a function calls (outgoing).
|
|
47
|
+
- `occ code analyze callers <fn>` — what calls a function (incoming, impact analysis).
|
|
48
|
+
- `occ code analyze chain <fromFn> <toFn>` — call paths between two functions (`--depth <n>`, default 5).
|
|
49
|
+
- `occ code analyze deps <target>` — module/file import relationships (local/external/unresolved).
|
|
50
|
+
- `occ code analyze coupling <target>` — module-level coupling metrics.
|
|
51
|
+
- `occ code analyze tree <className>` — class/interface inheritance.
|
|
52
|
+
|
|
53
|
+
`calls`/`callers`/`tree` accept `--file <path>` to disambiguate. Relationships
|
|
54
|
+
report `resolved` / `ambiguous` / `unresolved` status explicitly.
|
|
55
|
+
|
|
56
|
+
## Change-aware — `occ code diff` / `occ code history`
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
occ code diff --base main --map-tokens 4096 --format json # which symbols changed
|
|
60
|
+
occ code history buildRepoMap --format json # git line history for a symbol
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`code diff` flags: `--base <ref>`, `--head <ref>`, `--staged`, `--map-tokens
|
|
64
|
+
<n>` (default 4096), `--tokenizer`. See also [git.md](git.md) for raw patches.
|
|
65
|
+
|
|
66
|
+
## Full index — `occ code index`
|
|
67
|
+
|
|
68
|
+
Build/dump the full codebase index (files, symbols, edges, capabilities). Heavy;
|
|
69
|
+
prefer `map`/`find`/`analyze` for targeted questions.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Command cheat-sheet
|
|
2
|
+
|
|
3
|
+
Every `occ` command with its canonical one-line description. Run `occ <group>
|
|
4
|
+
--help` for the authoritative flag list. Most commands accept `--format
|
|
5
|
+
tabular|json`, `-o <file>`, and `--ci`.
|
|
6
|
+
|
|
7
|
+
## Root
|
|
8
|
+
|
|
9
|
+
- `occ [directories...]` — Office Cloc and Count: scc-style summary tables for office documents. Flags: `--by-file`, `--structure`, `--quick`, `--include-ext`/`--exclude-ext`/`--exclude-dir`, `--no-gitignore`, `--sort files|name|words|size`, `--token-budget <n>`, `--tokenizer`, `--large-file-limit <mb>`, `--no-code`.
|
|
10
|
+
- `occ describe [directories...]` — Quickly classify one or more directories from fast file and manifest signals.
|
|
11
|
+
|
|
12
|
+
## `occ workspace` — Workspace-level analysis and document context helpers
|
|
13
|
+
|
|
14
|
+
- `occ workspace describe [rootDir]` — Quickly classify a workspace from fast file and manifest signals.
|
|
15
|
+
- `occ workspace analyze [rootDir]` — Analyze workspace code, documents, and structures with a versioned JSON contract. (default JSON)
|
|
16
|
+
- `occ workspace documents [rootDir]` — Inspect workspace document summaries and cross-document references. (default JSON)
|
|
17
|
+
|
|
18
|
+
## `occ doc` — Inspect document structure and content before deep reading
|
|
19
|
+
|
|
20
|
+
- `occ doc inspect <file>` — Inspect DOCX, PDF, or ODT document metadata, structure, and content preview.
|
|
21
|
+
- `occ doc entities <file>` — Extract entities (emails, URLs, dates, phone numbers, mentions) and keywords from a document.
|
|
22
|
+
- `occ doc references [directories...]` — Detect cross-references between documents in directories.
|
|
23
|
+
|
|
24
|
+
## `occ sheet` — Inspect spreadsheet structure and content before deep reading
|
|
25
|
+
|
|
26
|
+
- `occ sheet inspect <file>` — Inspect XLSX workbook metadata, sheet inventory, schema, and token estimates.
|
|
27
|
+
|
|
28
|
+
## `occ slide` — Inspect presentation structure and content before deep reading
|
|
29
|
+
|
|
30
|
+
- `occ slide inspect <file>` — Inspect PPTX or ODP presentation metadata, slides, and content preview.
|
|
31
|
+
|
|
32
|
+
## `occ table` — Extract and inspect table content from documents
|
|
33
|
+
|
|
34
|
+
- `occ table inspect <file>` — Extract structured table data from DOCX, XLSX, PPTX, ODT, or ODP documents.
|
|
35
|
+
|
|
36
|
+
## `occ code` — Explore code structure with first-class JS/TS and Python support
|
|
37
|
+
|
|
38
|
+
- `occ code map` — Token-budgeted, importance-ranked repo map (top symbol signatures per file).
|
|
39
|
+
- `occ code pack` — Token-budgeted, importance-ranked pack (file content, optionally compressed).
|
|
40
|
+
- `occ code index` — Build the full codebase index (files, symbols, edges, capabilities).
|
|
41
|
+
- `occ code find name <name>` — Find code elements by exact name.
|
|
42
|
+
- `occ code find pattern <pattern>` — Find code elements by substring pattern.
|
|
43
|
+
- `occ code find type <nodeType>` — List all nodes of a given type.
|
|
44
|
+
- `occ code find content <text>` — Search code content (full source text).
|
|
45
|
+
- `occ code find fused <query>` — Fused search combining name, pattern, and content with rank fusion.
|
|
46
|
+
- `occ code analyze calls <fn>` — Show what a function calls (outgoing calls).
|
|
47
|
+
- `occ code analyze callers <fn>` — Show what calls a function (incoming calls).
|
|
48
|
+
- `occ code analyze chain <fromFn> <toFn>` — Find call paths between two functions.
|
|
49
|
+
- `occ code analyze deps <target>` — Show module/file import relationships.
|
|
50
|
+
- `occ code analyze coupling <target>` — Show module-level coupling metrics.
|
|
51
|
+
- `occ code analyze tree <className>` — Show class/interface inheritance relationships.
|
|
52
|
+
- `occ code diff` — Show changed symbols for a git diff range.
|
|
53
|
+
- `occ code history <symbol>` — Show git line history for a symbol.
|
|
54
|
+
|
|
55
|
+
## `occ git` — Inspect git changes, history, and churn
|
|
56
|
+
|
|
57
|
+
- `occ git changed` — List changed files for the resolved diff range.
|
|
58
|
+
- `occ git diff` — Summarize or render the resolved diff (`--patch` for a bounded raw patch).
|
|
59
|
+
- `occ git history [file]` — Show commit history for a range or file.
|
|
60
|
+
- `occ git churn` — Rank changed files by churn.
|
|
61
|
+
|
|
62
|
+
## `occ skills` — Install and inspect the Agent Skills bundled with occ
|
|
63
|
+
|
|
64
|
+
- `occ skills install [--agent claude|codex|all] [--user|--project] [--project-root <dir>] [--force] [--link]` — Install occ Agent Skills into one or more coding agents.
|
|
65
|
+
- `occ skills list [--format json]` — List the Agent Skills bundled with occ.
|
|
66
|
+
- `occ skills path` — Print the path to occ's bundled Agent Skills.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Office-document & table triage
|
|
2
|
+
|
|
3
|
+
Preflight a document with `inspect` (JSON) _before_ deciding to read it in full.
|
|
4
|
+
All commands accept `--format json`, `-o <file>`, and `--ci`.
|
|
5
|
+
|
|
6
|
+
## `occ doc inspect <file>`
|
|
7
|
+
|
|
8
|
+
Inspect DOCX, PDF, or ODT document metadata, structure, and content preview —
|
|
9
|
+
metadata, risk flags, content stats, heading tree, and a short preview.
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
occ doc inspect report.docx --format json
|
|
13
|
+
occ doc inspect report.pdf --sample-paragraphs 10
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Flags: `--sample-paragraphs <n>` (default 5), `--no-structure` (skip heading tree).
|
|
17
|
+
|
|
18
|
+
## `occ doc entities <file>`
|
|
19
|
+
|
|
20
|
+
Extract entities (emails, URLs, dates, phone numbers, mentions) and keywords
|
|
21
|
+
from a document. Defaults to `--format json`.
|
|
22
|
+
|
|
23
|
+
## `occ doc references [directories...]`
|
|
24
|
+
|
|
25
|
+
Detect cross-references between documents across directories. Defaults to JSON.
|
|
26
|
+
Flags: `--exclude-dir`, `--no-gitignore`, `--ignore-pattern`.
|
|
27
|
+
|
|
28
|
+
## `occ sheet inspect <file>`
|
|
29
|
+
|
|
30
|
+
Inspect XLSX workbook metadata, sheet inventory, schema hints, and lightweight
|
|
31
|
+
samples — including hidden sheets, named ranges, formulas, links, comments, and
|
|
32
|
+
token estimates.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
occ sheet inspect finance.xlsx --format json --sample-rows 3 --max-columns 12
|
|
36
|
+
occ sheet inspect finance.xlsx --sheet "Q3" # name or 1-based index
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Flags: `--sheet <selector>`, `--sample-rows <n>` (default 5), `--header-row
|
|
40
|
+
auto|none|<n>` (default auto), `--max-columns <n>` (default 50).
|
|
41
|
+
|
|
42
|
+
## `occ slide inspect <file>`
|
|
43
|
+
|
|
44
|
+
Inspect PPTX or ODP presentation metadata, per-slide inventory, risk flags, and
|
|
45
|
+
content preview.
|
|
46
|
+
|
|
47
|
+
Flags: `--sample-slides <n>` (default 3), `--slide <number>` (1-based).
|
|
48
|
+
|
|
49
|
+
## `occ table inspect <file>`
|
|
50
|
+
|
|
51
|
+
Extract structured table data from DOCX, XLSX, PPTX, ODT, or ODP documents —
|
|
52
|
+
auto-detected headers, sample-row limits, merged-cell support.
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
occ table inspect report.docx --format json
|
|
56
|
+
occ table inspect finance.xlsx --table 2 --sample-rows 50
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Flags: `--table <n>` (1-based), `--sample-rows <n>` (default 20), `--header-row
|
|
60
|
+
auto|none|<n>`.
|
|
61
|
+
|
|
62
|
+
## Pattern
|
|
63
|
+
|
|
64
|
+
`inspect --format json` → read the schema / risk flags / token estimate → only
|
|
65
|
+
then read full content (or extract tables) if the document is actually relevant.
|