All posts
Announcements

Why we built Codehabits

Every team has habits: the small, repeated patterns that make code feel like yours. We built Codehabits to extract those habits and ship them to every AI tool your team uses.

April 18, 2026·5 min read

Every team has habits. Not rules. Habits. The small, repeated patterns that make code feel like yours. Named exports over defaults. Errors that extend a base class. Zod at the edges. Tests next to the file they cover. Some of these live in a linter. Most live in PR comments, in the heads of two senior engineers, and in the silent rewrite a reviewer does at 11pm on a Thursday.

AI coding tools don't see any of that. They see the public internet. So when you ask Cursor or Copilot to write a function, you get something that works, but doesn't fit. You spend the next ten minutes pulling it back into your team's shape, every single time, in every single tool.

We built Codehabits because that gap is the most expensive thing about working with AI today, and it's the most fixable.

Conventions are a pile of rules. Habits are a system.

We thought a long time about whether to call this product “Team Conventions” or something rule-shaped. We didn't, because rules are rigid and habits are alive. Habits accumulate. Habits drift when nobody's watching. New ones replace old ones as the codebase grows. A linter can encode a rule; only a system that watches your PRs can encode a habit.

That's the entire product in one sentence: Codehabits watches what your team actually does in code review and turns those repeated patterns into machine-readable intelligence that every AI tool can read.

How it works, in plain English

You run one command in your repo:

npx @codehabits/cli enable

We scan your codebase, your linter configs, and the merged PRs in your repository, including every review comment. From that, we extract three things and write them to your repo as plain JSON:

  • Conventions: patterns your team repeats, scored by how often they appear and how consistently.
  • Anti-patterns: what your team rejects in review, ranked by severity.
  • Domain knowledge: the relationships between your modules, services, and the real-world concepts behind them.

Those files live under .codehabits/ in your repo, and we also generate an Agent Skill under .cursor/skills/codehabits-team-intel/ that any compliant AI tool (Cursor, Copilot, Claude Code, Codex, Windsurf, Gemini CLI, anything that speaks the Agent Skills spec or MCP) auto-discovers without configuration. We also stand up an MCP server so tools can query for context on demand and record feedback that flows back into your team's intelligence.

The mark

The Codehabits logo is a pair of square brackets framing three stacked translucent panes: habits accumulating into a stable foundation. Brackets because we live inside code. Panes because each habit, on its own, is a small thing, but stack them and you have something the whole team stands on.

Why now

AI has changed the default cost of writing code. The new bottleneck is making sure that code fits. Without something like Codehabits, every team will spend the next decade copy-pasting the same conventions into a different prompt window for every new tool that ships. We'd rather you write your conventions once, in the place they already live (your PRs), and have every tool automatically respect them.

That's the bet. Habits travel with the code. AI travels with the habits.

Get started

If your repo is on GitHub and has merged PRs, you can be team-aware in under five minutes:

  1. Run npx @codehabits/cli enable in the repo root.
  2. Commit .codehabits/, .cursor/skills/, and AGENTS.md.
  3. Open Cursor (or any tool you use) and ask for code. The skill is already in scope.

For the full walkthrough, head to the quickstart. For the why behind the product, here's the longer argument.

Codehabits is free for individuals and open source. Teams pay one flat price (not per seat), so adding a teammate never changes the bill. See pricing.

Continue reading