AGENTIFYv0.4 GitHub
Analyze first

Turn agent history into local evidence.

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.

HTML + browser by default metadata-only by default current repo or global no model required

Preview, consent, then generate.

Start with the repo in front of you. Expand to global history only when you want a cross-project view.

preview · reads names and sizes

See the exact sources first

--dry-run lists providers, roots, file counts, bytes, scope, and the privacy contract without parsing session bodies.

agentify analyze --scope current-repo --days 30 --dry-run
recommended · this repository

Create a focused HTML report

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 --yes
optional · all repositories

See the global pattern

Aggregates 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 --yes
narrow · one provider

Compare one harness at a time

Use the same report contract for Claude Code or Codex when you want a cleaner provider baseline.

agentify analyze --provider codex --scope current-repo --yes
headless · CI

Write without opening

Keep the default HTML output but suppress the browser launch for agents, CI, SSH sessions, or your own scripts.

agentify analyze --no-open --yes
terminal · compact

Print a text brief

Use an explicit output format when you want the evidence in the terminal instead of a generated page.

agentify analyze --format text --yes

What the report helps you decide.

The report connects observed usage to concrete next actions. It labels incomplete evidence instead of inventing certainty.

usage

Sessions, active days, provider mix, models, token coverage, costs, cache behavior, and outcome signals—with missing provider data called out.

workflow

Tool patterns, repeated searches, command outcomes, edited files, handoff behavior, and where Agentify context or structural queries could remove rediscovery.

routing

Model-routing suggestions are graded against local eval artifacts when available. A cheaper route is not presented as proven without pass-and-cost evidence.

next step

Recommendations include the exact Agentify command or .agentify.yaml setting to try, so analysis leads directly into configuration.

Useful by default. Deeper only by opt-in.

Every wider read is explicit. Start at metadata-only, then add only the evidence you actually need.

default

Metadata only

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.

local opt-in

Task categories

--content local-extractive classifies in-scope prompt text in memory with deterministic rules. Only match counts and a category label survive.

structural opt-in

Config audit

--include-config reads an allowlist of provider config files and reports structural names and counts—not secrets or prompt bodies.

paid network opt-in

CLI insights

--insights cli sends a sanitized counts-only packet through an installed provider CLI. Its cost and network calls are recorded separately.

inspect before sending

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

Add detail deliberately.

These commands are separate so the privacy boundary remains visible at the moment you cross it.

local task classification

Current repo only

Use deterministic in-memory rules to add task-category signals without storing prompt text.

agentify analyze --scope current-repo --content local-extractive --yes
configuration posture

Global structural audit

Include allowlisted Claude Code and Codex configuration structure in a global report.

agentify analyze --scope global --include-config --yes
fresh parse

Bypass the private cache

Re-parse every source file. The default cache contains normalized metadata only and is stored with private permissions.

agentify analyze --scope current-repo --no-cache --yes
machine-readable

Use JSON in automation

Keep the same deterministic report contract and feed it into your own local tooling.

agentify analyze --scope current-repo --format json --yes

Once the evidence is clear, personalize Agentify without rewriting the whole config.

Configure Agentify Full usage guide

Use the controls that match the job.

These recipes reflect the current agentify analyze implementation. HTML is the default; text and JSON are explicit, and every deeper read remains opt-in.

custom output · no browser

Choose the report path

Write the same self-contained HTML report somewhere else without opening a browser.

agentify analyze --output ./reports/agentify.html --no-open --yes
custom history stores

Analyze fixtures or moved data

--source-root is repeatable and replaces the default root for that provider.

agentify analyze --source-root claude=./fixtures/claude --source-root codex=./fixtures/codex --yes
global display opt-in

Reveal project identity

Global reports use pseudonyms unless you explicitly display real project names or paths.

agentify analyze --scope global --show-project-names --show-paths --yes
paid CLI insight run

Pin provider, model, and limits

Send 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 --yes
private debugging artifact

Keep the sanitized packet

Retain the exact counts-only insight packet under .agentify/ when you need to audit the model input.

agentify analyze --insights cli --keep-insights-packet --yes
quiet fresh run

Bypass cache and progress

Force a complete re-parse while suppressing both the TTY progress line and browser launch.

agentify analyze --no-cache --no-progress --no-open --yes
all analyze flags · v0.4

Command shape

agentify 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]
agentify analyze

Turn agent history into a decision.

Configure Agentify