agentify maintenance

The toolshed for managed state.

Five command groups keep the repo's Agentify state healthy: hooks, semantic, clean, cache, and the placeholder memory. All dispatched in src/main.js.

hooks src/core/hooks.js semantic src/core/semantic.js cleanup src/core/cleanup.js cache src/core/cache.js

Each group has its own subcommand surface.

git hooks

hooks <install|remove|status>

Dispatch: src/main.js:968; installHooks, removeHooks, statusHooks in src/core/hooks.js.

Flags: --root, --json.

Writes: .git/hooks/post-commit, .git/hooks/post-merge. Status returns a hook → boolean map.

agentify hooks install
facts

semantic refresh

Dispatch: src/main.js:1007 · runSemanticRefresh(root, config).

Flags: --root, --json.

Writes: semantic tables in .agentify/index.db (TS/JS symbols, exports, imports).

agentify semantic refresh --json
prune

clean

Dispatch: src/main.js:1014 · runClean(root, config, { planned, sessions, all }) in src/core/cleanup.js.

Flags: --planned, --sessions, --all, --dry-run, --root, --json.

Deletes: entries under .agentify/planned/, .agentify/session/, .agentify/runs/ based on flags. --all includes optional groups.

agentify clean --all --dry-run
content cache

cache <gc|status>

Dispatch: src/main.js:1045; garbageCollect(cacheRoot, maxAge) and cacheStatus(cacheRoot) in src/core/cache.js.

Flags: --max-age <days> (default 7), --root, --json.

Reads/writes: .agentify/cache/. Status returns blob count and total size.

agentify cache gc --max-age 14
placeholder

memory compress <file>

Dispatch: src/main.js:859.

Flags: --root, --json.

Currently a placeholder; requires the caveman-compress skill. The path resolves but the operation is reserved for future use.

agentify memory compress notes.md

Operational notes.

hooks

Hooks are managed; running install repeatedly is idempotent. remove reverses the install. status never writes.

semantic

Run semantic refresh after large refactors. up already refreshes facts; semantic refresh targets the semantic tables only.

clean

Always pair with --dry-run first. Without any group flag the command reports the available groups and exits.

cache

gc uses the maxAge parameter to drop blobs older than the cutoff. status is read-only.