/** * Editor-indexer exclusions for the `.harnery/` coord root. * * `harn init` already writes `.harnery/.gitignore`, which keeps git-aware * tools out of runtime state. Two high-traffic editor surfaces ignore * gitignore, though: Cursor's codebase indexer (governed by a repo-root * `.cursorindexingignore`) and the VS Code/Cursor file watcher (governed by * `files.watcherExclude` in `.vscode/settings.json`). A busy coord root holds * tens of thousands of ledger events plus working artifacts, so on * session-heavy hosts the missing exclusions turn editor startup into an * indexing storm over machine-local state no editor needs to see. * * `applyIndexerExclusions` is idempotent and non-destructive: it appends a * managed entry to `.cursorindexingignore` (or creates the file) and merges a * single key into `.vscode/settings.json` (or creates it). A settings file it * cannot merge safely (comments, malformed JSON, or a non-object * `files.watcherExclude`) is left byte-identical and reported as a manual * step. `removeIndexerExclusions` reverses exactly what apply wrote: it never * removes a `.harnery/` ignore entry the consumer added themselves (detected * by the absence of the managed comment) and never edits a settings file it * could not have written into. */ /** Ensure both editor exclusions exist. Returns init-style action lines. */ export declare function applyIndexerExclusions(projectRoot: string, dryRun: boolean): string[]; /** Reverse exactly what apply wrote. Returns action lines; silent when nothing is ours. */ export declare function removeIndexerExclusions(projectRoot: string, dryRun: boolean): string[]; //# sourceMappingURL=indexer-exclusions.d.ts.map