Per-line attribution for human, AI, and pasted code. Any editor. Any agent. Zero config.
npm install -g @omnitype-code/clinpm install -g @omnitype-code/cliomnitype daemonomnitype blame src/index.tsomnitype hooks installomnitype signal --model gpt-4o --tool aideromnitype setup-vscode-hookomnitype statusA 95% AI commit can be great engineering or a liability. Provenance gives you the data to ask the right question, not a verdict.
A dev reads a 400-line AI suggestion, spots the race condition on line 312, writes 8 lines to fix it, ships. The commit is 95% AI. The 5% is what matters.
Same number. Different context. Provenance surfaces the data. Your team supplies the judgment.
Every line classified at write-time: typed manually, AI-generated, or pasted. No surveys, no self-reporting. Objective data, like logs and metrics.
Create an assessment room, share the link, and get ranked results automatically. Every paste event and manually typed line is tracked. Candidates see nothing. You see everything.
Any AI tool can adopt it in 5 lines. Claude Code ships it natively.
~/.omnitype/active-model.jsonVS Code extension or CLI. Both free.
npm install -g @omnitype-code/cliNo fluff. How it works, what it sees, and what it doesn't.
It tells you — and your team — how your codebase actually gets built. Every line of code is tagged as manually typed, AI-generated, or pasted. That attribution travels with your commits so you always have an honest record of code authorship.
The VS Code extension watches how text enters your editor. Characters you type one by one are marked manual. A suggestion you accept from Copilot, Cursor, or Codeium is marked AI. Anything inserted with Ctrl+V is marked paste. No guessing — it tracks the actual input event.
Never. All the analysis happens locally on your machine. Only the resulting ratios are synced — something like '68% manual, 24% AI, 8% pasted' per commit. Your source code stays on your machine.
When you install the extension, it sets up git hooks in your workspace. Every time you commit and push, those hooks attach provenance metadata to the commit. Your org dashboard then shows a per-file, per-branch, per-contributor breakdown — built entirely from commit history.
Only your composition ratios and coding activity — not your actual code. Your manager sees things like how active you've been and what share of your commits were manual vs AI-assisted. They cannot see file contents, diffs, or anything you've written.
A live view of how your team's code actually gets written — per developer, per repo, per branch. You can see who is actively coding, how much AI tooling is being used across the team, and spot any unusual patterns. You only see members assigned to your team.
No noticeable impact. It reacts passively to editor events — there are no background scans, no file watchers, no polling. It only activates when you're actively editing.
The extension tracks files as you open and edit them. Files you haven't touched since installing it, or files generated by tools like npm or build pipelines, won't appear — they were never typed. Coverage grows naturally as you work.
Because they are. package-lock.json is written by npm — you never typed it. tsconfig.json often gets auto-filled by IntelliSense. The attribution is accurate. You can add generated files to .omnitype/ignore to exclude them from the dashboard entirely.
It's a deliberate practice tool — you practice typing real code in the languages you actually use, so your muscle memory matches your daily work. Think of it as a gym for your fingers. It's completely optional and separate from the provenance tracking.
The VS Code extension, provenance tracking, and individual dashboard are free. Team dashboards and org features require a plan. Assessment packs for hiring are available as one-time purchases.
Install the OmniType extension from the VS Code Marketplace, sign in with a free account, and open any project. The extension starts tracking immediately. Push a commit and your first provenance data appears in the dashboard within seconds.
Questions, demos, integrations. You get a real answer.