one_line_idea an idea is prose after an identifying namereqlan {
semantic *engineering* toolset
}Why reqlan
Build high-quality, verifiable systems quickly by describing the parts that matter and how they relate
- less input tokens, better output tokens
- integrate your system with your actual intent
- demand excellence from your clanker, with the right atomic specification
- static analysis for specifications
- vibecode without the constant doubt
- tightly control the scoping of your context, with the best of a file system hierarchy and the best of a knowledge graph
- shorter prompts, better agentic search, less rework and more focus
- make your precise intent explicit, leave implicit details latent
- make your intent compilable
- core implemented in rust, so you know it's fast and reliable
- integrate compliance, testing, functional requirements, non-functional requirements, and more into your system
- build docs that resist drift, and store the things you actually care about
As featured in:
What is reqlan?
How are ideas actually written
block_idea {
A name followed by curly braces holds a longer body and optional attributes.
The first unmarked text is the main description.
}reference_target a named idea other ideas can point at
links_and_attributes {
Bracket refs like [reference_target] connect ideas in the graph.
@status draft
@tags (syntax, reference)
}import "pythonmodule.py" as importable_python_module
imports {
You can import [importable_python_module] - arbitrary files, not only .rq.
}file_reference {
Point at a whole file ["./module.py"], a symbol ["./module.py".SessionStore],
or a named test ["./module.test.py:rejects expired token"].
}wildcard_refs {
One edge that fans out - path glob plus idea pattern.
["../panels/*.rq".*_pane] matches every *_pane idea under panels/.
}// rq:["./syntax.rq".comment_reference]
// An rq: comment in TypeScript pins this location back to an idea.<!-- rq:["./syntax.rq".comment_reference] -->
An `rq:` comment in Markdown pins this doc back to an idea.# rq:["./syntax.rq".comment_reference]
# An rq: comment in Python pins this location back to an idea.A slice of a real graph
from "auth.rq" import login
import "./session.rq" as session
session_refresh {
refresh tokens rotate on use
aligns with [session.session_expiry] and [login]
related panes ["./ui/**/*.rq".*_pane]
implemented in ["./src/auth/session.ts".rotateRefresh]
proven by ["./src/auth/session.test.ts:rejects reused refresh token"]
@status in-progress
@tags (auth, security)
@todo reject reuse of the old refresh token
}Roadmap
Now
Context that decides
Activity-bar signals for the next move - not just where a file came from.
Next
Search in context
Rank matches from the ideas and files you already have open.
Next
Rank the neighbourhood
Pagerank and multi-seed distance so agents get the right slice.
Later
Idea git history
CodeLens timeline on an idea - relative dates, moves included.
Later
How the graph is walked
Remember traversal patterns; recommend better next hops.
A note from the maker

Hi, I'm Tony. These days code's easy to write but hard to keep in your head, especially with AI agents doing half the typing. reqlan started as my way of writing down the ideas that actually matter and tying them to the code that proves them. It's mostly just me (plus a few agents), and it's built using itself. In a sea of agents, I'm a real, friendly human on the other end, so if it helps you, breaks on you, or you just need a hand, let me know.