Engineering decisions your agents can follow. Build, as decided.
AsDecided keeps requirements, decisions, designs, roadmaps, and prompts as typed Markdown in your repository. Its native Rust engine validates that knowledge, retrieves relevant decisions deterministically, and serves it read-only to agents over MCP.
No embeddings, model call, hosted index, or Python runtime is required. The same repository state produces the same answer.
Install the complete RAC toolchain through Homebrew:
brew install itsthelore/tap/rac-fullNative decided and decided-mcp archives are also published on
GitHub Releases.
rac-core is no longer distributed through PyPI. Python API consumers should
use itsthelore/rac-sdk, which is a
client SDK rather than a second engine implementation.
decided quickstart
decided validate decisions/
decided gate decisions/New repositories use:
.decided/config.yaml
decisions/
Existing artifact IDs such as RAC-ABC123DEF456 are durable identities and do
not change with the product name.
Migration is explicit and never runs during an ordinary command:
decided migrate layout . --dry-run
decided migrate layout .The migration moves .rac/ to .decided/ and rac/ to decisions/. It
refuses to overwrite either destination.
{
"mcpServers": {
"asdecided": {
"command": "decided-mcp",
"args": ["--root", "."]
}
}
}Rust is the product engine and the only CLI/MCP runtime in this repository.
The authoritative language-neutral compatibility fixtures live in
rac-spec. Live-corpus validation is
based on validity, determinism, freshness, and cache/no-cache equality.
Document ingestion remains an ancillary Python connector rather than part of
the core engine. The retired Python engine is preserved for historical review
at the immutable
python-engine-final
tag; it is not maintained or run in normal CI.