See the exact sources first
--dry-run lists providers, roots, file counts, bytes, scope, and the privacy contract without parsing session bodies.
See how Claude Code and Codex are being used, where time and tokens go, and which Agentify changes are worth making. The default command creates a private HTML report on your machine and opens it in your browser.
Start with the repo in front of you. Expand to global history only when you want a cross-project view.
--dry-run lists providers, roots, file counts, bytes, scope, and the privacy contract without parsing session bodies.
Matches sessions to the current repository, writes one self-contained file beside your code, and opens it in your default browser.
agentify analyze --scope current-repo --days 30 --yesAggregates recent Claude Code and Codex sessions across projects. Project identities remain pseudonymized unless you explicitly reveal them.
agentify analyze --scope global --days 30 --output agentify-global-analysis.html --yesUse the same report contract for Claude Code or Codex when you want a cleaner provider baseline.
agentify analyze --provider codex --scope current-repo --yesKeep the default HTML output but suppress the browser launch for agents, CI, SSH sessions, or your own scripts.
agentify analyze --no-open --yesUse an explicit output format when you want the evidence in the terminal instead of a generated page.
agentify analyze --format text --yesThe report connects observed usage to concrete next actions. It labels incomplete evidence instead of inventing certainty.
Sessions, active days, provider mix, models, token coverage, costs, cache behavior, and outcome signals—with missing provider data called out.
Tool patterns, repeated searches, command outcomes, edited files, handoff behavior, and where Agentify context or structural queries could remove rediscovery.
Model-routing suggestions are graded against local eval artifacts when available. A cheaper route is not presented as proven without pass-and-cost evidence.
Recommendations include the exact Agentify command or .agentify.yaml setting to try, so analysis leads directly into configuration.
Every wider read is explicit. Start at metadata-only, then add only the evidence you actually need.
Parses record envelopes and counters. Prompt, response, and thinking bodies are not analyzed. Shell command text is classified in memory into pattern counts and irreversible fingerprints, then never retained, rendered, or uploaded.
--content local-extractive classifies in-scope prompt text in memory with deterministic rules. Only match counts and a category label survive.
--include-config reads an allowlist of provider config files and reports structural names and counts—not secrets or prompt bodies.
--insights cli sends a sanitized counts-only packet through an installed provider CLI. Its cost and network calls are recorded separately.
Preview the exact sanitized packet and provider invocation. This produces JSON and starts no model.
agentify analyze --scope current-repo \
--insights cli \
--insights-provider both \
--max-insights-budget-usd 0.25 \
--insights-timeout 120 \
--insights-dry-run \
--yes
These commands are separate so the privacy boundary remains visible at the moment you cross it.
Use deterministic in-memory rules to add task-category signals without storing prompt text.
agentify analyze --scope current-repo --content local-extractive --yesInclude allowlisted Claude Code and Codex configuration structure in a global report.
agentify analyze --scope global --include-config --yesRe-parse every source file. The default cache contains normalized metadata only and is stored with private permissions.
agentify analyze --scope current-repo --no-cache --yesKeep the same deterministic report contract and feed it into your own local tooling.
agentify analyze --scope current-repo --format json --yesOnce the evidence is clear, personalize Agentify without rewriting the whole config.
Configure Agentify Full usage guideThese recipes reflect the current agentify analyze implementation. HTML is the default; text and JSON are explicit, and every deeper read remains opt-in.
Write the same self-contained HTML report somewhere else without opening a browser.
agentify analyze --output ./reports/agentify.html --no-open --yes--source-root is repeatable and replaces the default root for that provider.
Global reports use pseudonyms unless you explicitly display real project names or paths.
agentify analyze --scope global --show-project-names --show-paths --yesSend only the sanitized packet through the selected local CLI with an explicit budget and timeout.
agentify analyze --insights cli --insights-provider claude --insights-model haiku --max-insights-budget-usd 0.25 --insights-timeout 120 --yesRetain the exact counts-only insight packet under .agentify/ when you need to audit the model input.
Force a complete re-parse while suppressing both the TTY progress line and browser launch.
agentify analyze --no-cache --no-progress --no-open --yesagentify analyze \
[--provider claude|codex|all] \
[--scope current-repo|global] [--days N] \
[--format html|text|json] [--output PATH] [--no-open] \
[--yes] [--dry-run] [--no-cache] [--no-progress] \
[--source-root claude=PATH] [--source-root codex=PATH] \
[--content metadata-only|local-extractive] [--include-config] \
[--show-project-names] [--show-paths] \
[--insights deterministic|cli] \
[--insights-provider claude|codex|both] [--insights-model MODEL] \
[--max-insights-budget-usd USD] [--insights-timeout SECONDS] \
[--insights-dry-run] [--keep-insights-packet]