This commit is contained in:
2026-03-22 23:54:59 +01:00
parent 91963d5173
commit 686429d9cf
20 changed files with 721 additions and 61 deletions

View File

@@ -0,0 +1,47 @@
#!/usr/bin/env node
/**
* SessionStart hook: reminds Claude to index DOCS/*.md into context-mode.
* Scans for DOCS/ or docs/ folder and lists .md files to index.
*/
import { readdirSync, statSync, existsSync } from 'fs';
import { join, relative } from 'path';
const projectRoot = process.env.PROJECT_DIR || process.cwd();
let docsDir = null;
for (const candidate of ['DOCS', 'docs']) {
const fullPath = join(projectRoot, candidate);
if (existsSync(fullPath)) {
docsDir = fullPath;
break;
}
}
if (!docsDir) {
process.exit(0);
}
function getMdFiles(dir) {
const files = [];
for (const entry of readdirSync(dir, { withFileTypes: true })) {
const fullPath = join(dir, entry.name);
if (entry.isDirectory()) {
files.push(...getMdFiles(fullPath));
} else if (entry.name.endsWith('.md')) {
files.push(relative(projectRoot, fullPath).replace(/\\/g, '/'));
}
}
return files;
}
const mdFiles = getMdFiles(docsDir);
if (mdFiles.length > 0) {
const instructions = {
result: "INDEX_DOCS_REMINDER",
message: `Na starcie sesji zaindeksuj poniższe pliki dokumentacji do context-mode (ctx_index) aby oszczędzać okno kontekstu. Użyj pełnych ścieżek z PROJECT_DIR.`,
files: mdFiles,
projectDir: projectRoot.replace(/\\/g, '/')
};
console.log(JSON.stringify(instructions));
}