Everything happens on your machine. Only ratings ever leave it, and only if you say so.
urFluency is a command-line tool. It reads the lines you wrote, rates them, and prints a report. A profile on urfluency.com is an optional extra built from that report.
The pipeline
- 01LOCAL
Find your projects
Every Git repository and project folder under the path you give it, skipping dependencies and build output.
- 02LOCAL
Find your lines
Git blame on your commits, matched to every address you have used. Folders without Git count as yours, labelled declared.
- 03LOCAL
Read the syntax
Tree-sitter parsers for 12 languages find idioms used well, problems, complexity, imports, and secrets.
- 04LOCAL
Rate and report
Scores and levels per language, framework, kind of system, tool, and habit, printed or as JSON.
- 05OPTIONAL
Upload, if you want
urfluency uploadshows the payload and asks first. Ratings and counts only.
What it reads
- Source files in the 12 supported languages, and extensions you add yourself
- Who wrote each line, from Git history
- CI, build, and agent-instruction files, for practices
- File names of tools, such as Dockerfile or *.tf, never their contents
- With --sessions: your local agent transcripts, reduced to counts as they are read
What it never reads, stores, or sends
- .env files, keys, certificates, credential files, Terraform state
- Secret values: findings show the type and line only
- Source code, prompt text, repository names, paths, or commit hashes in an upload
- Anything on the network during a scan
- Dependencies: it never installs anything
How ratings are worked out
Every rating is 0 to 100 with a level. The formulas are public in the CLI repository, and every rating shows its method version.
Language proficiency
The share of the language's idioms you use well, plus how cleanly you write it in security, type safety, clean code, and language usage. A weak area caps the score.
0.35 × idiom range
+ 0.65 × mean(category scores)
≤ weakest category + 30Frameworks, design, tools
How much you have used something: repositories count more than files, and the first projects count most. It measures how much, not how well.
60 × log(repos) + 40 × log(files)
scaled per areaWays of working
Commit messages that explain why, larger changes that include tests, and the quality gates your CI runs.
tests: share of changes / 0.5
gates: mandatory gates run- Beginner0–39
- Intermediate40–69
- Advanced70–84
- Expert85–100
Trust tiers
| Tier | Where the result comes from | Shown as |
|---|---|---|
| Declared | Folders without Git: every line counts as yours by declaration | declared |
| Self-reported | The CLI on your machine, uploaded by you | self-reported |
| CI-attested | The urFluency GitHub Action, signed with GitHub OIDC | ci-attested |
| Verified | Analysed by urFluency from a public repository | verified |
Try it on your own projects
$ brew install rburns629/tap/urfluency && urfluency scan