What Continue.dev brings to the IDE
Continue.dev is the closest open-source sibling to Cursor and the commercial AI coding assistants. It runs inside VS Code and JetBrains, supports a configurable model backend (Anthropic, OpenAI, local Ollama, others), and exposes two of the surfaces most relevant to a governance comparison: rules defined in config.yaml, and context providers that pull project information into each session.
For engineering teams that want the productivity of a modern IDE coding assistant without locking into a closed-source vendor, Continue is the strongest current option. Its rules and context providers cover most of what a team would otherwise put in a prose conventions file, with the bonus of being model-agnostic and self-hostable.
- Open-source AI code assistant for VS Code and JetBrains
- Configurable model backend — Anthropic, OpenAI, local, others
- Rules in
config.yamlfor project-level steering - Context providers for grounding the model in the repo
- Self-hostable; no vendor lock-in on the model
Mneme HQ does not compete with the IDE coding-assistant category. It is the governance layer that enforces architectural decisions on the edits any coding assistant — Continue, Cursor, Copilot — proposes. The structural difference is the same one that appears in every comparison on this hub: prose rules steer the model; typed decisions are evaluated by the system.
Loaded into Continue’s session context. The model reads them and decides how to apply them on each turn. Strong for tone, conventions, and average-case quality. Suggestion-shaped: there is no enforcement step.
Evaluated against every Edit/Write. The system matches scope, resolves precedence, and either allows or blocks with the specific decision that fired. Blocking-shaped: violations never reach the codebase.
The framing: Continue rules are configuration the model interprets. Mneme is enforcement the system resolves. Both are useful; they answer different questions.
Where they differ as layers in the stack
| Dimension | Continue.dev | Mneme HQ |
|---|---|---|
| Architecture | IDE coding assistant plus rules | Governance layer at Edit/Write |
| Rule format | Prose strings in config.yaml |
Typed decision records with predicates |
| Scope model | Implicit, or glob in config | Explicit per-decision scope |
| Precedence | None — order-dependent in the file | Precedence engine resolves overlaps |
| Cross-IDE behavior | Continue-installed editors (VS Code, JetBrains) | Any agent or CI step that triggers Edit/Write |
| Enforcement | Suggestion to the model | Hook-level block on the proposed edit |
| Audit | No native per-event log | Every enforcement event is traceable per decision |
Three failure modes for prose rules
Continue’s rules are competently designed for what they are. These failure modes are general to any prose-as-rules surface and are the reason teams reach for a typed governance layer once enforcement (not just steering) becomes the requirement.
1. Rule ordering as accidental precedence
Two rules in config.yaml overlap. One says “prefer functional style.” The other says “in the orchestration layer, use classes with explicit lifecycle.” Whichever appears later in the file wins by accident of ordering. There is no “narrower scope wins” semantics, no supersession record, no override-as-decision. Mneme’s precedence engine resolves the same overlap explicitly and traceably.
2. Scope drift between editor and CI
A team adds a rule that depends on file path. Continue applies it correctly inside VS Code where the rule is loaded. The same code path runs on a CI script that uses a different agent — Continue’s rules don’t apply there. The architectural decision is enforced in one place and not the other. Mneme runs at the Edit/Write hook regardless of which surface triggered it, so a CI-time edit and an in-editor edit go through the same enforcement.
3. The rule is right but the model didn’t use it
A rule is in config.yaml. Continue injects it into context. The model is solving a multi-step task and is several turns deep. The rule is in context but not in the model’s attention for the violating turn. The rule exists; it did not fire. Mneme’s enforcement runs on the edit itself, not in the model’s context window, so the verdict does not depend on whether the model was paying attention.
Why a precedence engine matters
Once a team has more than a handful of architectural decisions, overlap is inevitable. A repo-wide rule conflicts with a service-specific rule. A new ADR supersedes an older one. An override carves out a specific directory from a general policy. These cases need explicit resolution semantics, not file-order accidents.
Mneme’s precedence engine treats this as a first-class concern: each decision has explicit scope, a position in the precedence graph, and a record of what (if anything) it supersedes. When two decisions could apply to the same edit, the engine picks one deterministically and produces an audit record of why. The same edit produces the same verdict every run.
This is the property a prose config.yaml cannot provide, even with the most disciplined ordering convention. Ordering is a workaround; precedence is the model.
Using Continue and Mneme together
Continue stays the IDE coding assistant. Mneme stays the enforcement layer underneath. The two compose cleanly because they answer different questions.
- Keep Continue for IDE coding. Rules, context providers, model choice — all of the productivity surface stays exactly where it is.
- Move enforceable decisions to Mneme. Anything where the answer must be the same every time, regardless of which model or which editor is running.
- Use Continue rules for steering. Tone, library preferences, “here is how we write code” — things the model can act on at generation time.
- Hook Mneme into Edit/Write. When Continue proposes an edit, Mneme matches the scope, resolves precedence, and blocks violations before they land.
- Encode supersessions and overrides as decisions, not config ordering. Reading
config.yamltop-to-bottom should not be how a team learns which rule wins.
In this architecture, Continue is the engineer’s coding surface; Mneme is the team’s enforcement layer. The two compose without overlap, and the failure modes of prose-as-rules disappear because prose is no longer being asked to do the work of typed precedence.