.dec/
ContextStructured project knowledge in Markdown + YAML + TOML + JSON. Readable by any model without installation.
Dev Environment Control
dectl is an open-source developer life OS that provides persistent memory via SQLite, executable YAML workflows, SDD spec generator, and structured project context for any AI coding environment — Claude, Gemini, ChatGPT, Ollama, or a human in terminal. No proprietary API, no telemetry, one 6.1MB binary.
dectl captures your project's architecture, stack, decisions, and context in a structured .dec/ directory with config, isa, state, workflows, prompts, knowledge, and decisions. When you return months later, any AI model understands the project instantly — no explanations, no long setup, no lost context across sessions.
The anchor moment: Open a legacy project you haven't touched in months, run
dectl project init --standard, and the model already understands the project's architecture. No
explanations. No setup.
dectl has three actors: .dec/ provides structured project context, the dectl binary executes workflows and manages SQLite memory, and any AI model (Claude, Gemini, ChatGPT, Ollama) reads the context and generates code. They communicate through files and shell commands — no proprietary API required.
Structured project knowledge in Markdown + YAML + TOML + JSON. Readable by any model without installation.
Rust binary that manages memory SQLite, runs workflows, manipulates files. One static binary, zero runtime deps.
Any AI — Claude, Gemini, Qwen, Phi, Ollama, or a human in terminal. Completely interchangeable.
dectl offers ten capabilities in one 6.1MB MIT-licensed binary: persistent SQLite memory with FTS5 search, executable YAML workflows, auto-detected project context, session management, a 4-agent pipeline, SDD spec generation, 106 profiled development rules with review gate, health diagnostics, data portability, and model-agnostic support across 5+ AI providers.
dectl uses SQLite with WAL mode and FTS5 full-text search for persistent memory storage. Add, search, show, edit, and retrieve context across sessions. Tag-based organization with field query language (type:research tags:rust from:2026-01-01), soft-delete with restore, and per-project filtering.
dectl runs YAML workflows with Handlebars templates, conditionals, configurable timeouts per step, dry-run, and step recovery. Automate your SDD pipeline end-to-end.
dectl generates SDD artifacts: constitution, spec, requirements, research, and tasks. One command generates full Spec-Driven Development artifacts. Pass any requirements file: dectl spec init --from requirements.md — the agent reads any format (user stories, structured sections, requirement IDs) and generates compliant specs. dectl spec add creates module specs with the built-in spec_writer agent that follows SDD rules automatically.
Scan any project directory to detect languages, frameworks, and tooling. Fills
.dec/ context automatically on init. Watch mode for live file change tracking with diff output.
End sessions with automation: git sync, decision capture, config sync, progress tracking, and configurable hooks. No manual bookkeeping.
dectl provides 4 built-in agents: researcher, coder, reviewer, and documenter. Research → Code → Review → Document pipeline. Run single, in
parallel, or as a full pipeline with timeout, auto-trust, and --auto mode.
Profiled development rules keep agents sharp: 106 checks across 17 sections activate from your stack with a one-time questionnaire. Each task gets relevant context, and the reviewer blocks only real FAILs while WARNs stay advisory. Flow: dectl project init --standard → dectl spec init → reviewer FAILs concatenated SQL.
No model-specific APIs, no vendor lock-in. Works with Claude, Gemini, Qwen, Phi, Ollama — or a human in a plain terminal.
Run dectl doctor to check project health — database integrity, schema version, config syntax, and git availability. Repair issues automatically with --fix and get clear error hints.
Export memories to JSON or JSONL for backup and migration. Import with automatic dedup. Restore soft-deleted entries. Query with field syntax: type:research tags:rust from:2026-01-01.
dectl ships 36+ commands across 7 modules: Project, Memory, Workflows, Agents, Session, Rules, and System. Highlights include memory search with FTS5, workflow run with dry-run, agent trust for CI, rules context with 106 checks, and spec add with --from. Every command supports --json output.
project initInitialize .dec/ structureproject infoShow project summaryproject scanFile tree (respects .gitignore)project contextCompact summary for AIproject watchWatch files for changesmemory addSave a memorymemory listList memoriesmemory searchSearch with FTS5memory showView a memorymemory editEdit in $EDITORmemory queryField query languagememory deleteSoft or hard deletememory restoreRestore soft-deletedmemory exportExport to JSON/JSONLmemory importImport with dedupworkflow listList available workflowsworkflow describeShow workflow detailsworkflow runExecute a workflowagent listList agentsagent describeDescribe an agent roleagent runExecute an agentagent trustTrust an agent for CIsession endEnd session + summarizespec init [--from]SDD scaffold + agent inputspec add [--from]Add feature/module via agentdoctorHealth diagnosticsmigrateRun schema migrationsgenerate-completionsShell completionsversionBinary + schema versionrules listBrowse the 106-rule catalogrules searchFull-text search by keywordrules resolveActive ruleset for your profilerules contextStage-aware slice (2000 tokens)rules profile updateRe-run stack questionnairerules resyncRegenerate .dec/rules/ filesFAIL blocks the pipeline (Security, Secrets, Error Handling). WARN advises and passes.
Build SQL with user input — use parameterized queries.
Hardcoded secret in source — move it to environment variables.
Open resource must always close — release it in finally.
Mutating action on session cookies — add SameSite + anti-CSRF token.
POST creates a resource — prevent duplicate retries.
Copied business rule — unify it in a single source of truth.
Named side-by-side comparison with well-known AI coding assistants.
| Capability | dectl | Claude Code | Cursor | GitHub Copilot | Aider |
|---|---|---|---|---|---|
| Persistent memory across sessions | Local SQLite, searchable, model-agnostic | Session-scoped, Claude-only | IDE workspace rules, cloud account | IDE context, cloud account | Session-scoped, local |
| Works with any AI model | Yes — Claude, Gemini, ChatGPT, Ollama, human | Claude only | Selected models, IDE-only | Selected models, IDE-only | Selected models, terminal |
| Local-first, no cloud account required | Yes — one 6.1MB binary | Cloud account required | Cloud account required | Cloud account required | Yes — terminal-first |
| Executable YAML workflows with dry-run | Yes | Slash commands | Custom commands and rules | Custom agents | No |
| Structured project context format | Yes — .dec/ directory | No standard format | Rules files | Instruction files | No standard format |
| License | MIT open-source | Proprietary | Proprietary | Proprietary | GPL-3.0 open-source |
dectl is an open-source developer life OS that gives any AI coding environment persistent memory, executable workflows, SDD spec generator, and structured project context. It is model-agnostic, local-first, and ships as a single 6.1MB Rust binary with zero runtime dependencies.
dectl has three actors: .dec/ (structured project context in Markdown, YAML, TOML, JSON), dectl binary (Rust executor that manages SQLite memory and runs workflows), and the Model (any AI — Claude, Gemini, ChatGPT, Ollama, or a human). They communicate through files and shell commands with no proprietary API.
dectl offers persistent memory with SQLite (FTS5 search, field query language, tag-based), executable YAML workflows with Handlebars templates, conditionals and configurable timeouts, auto-detect stack on project init, session management with configurable hooks, a 4-agent pipeline (research, code, review, document) with parallel execution, SDD spec generator with --from flag (pass any requirements file), spec_writer agent that understands any format, health diagnostics with dectl doctor, data portability with export/import/restore, and is completely model-agnostic with no vendor lock-in.
dectl has 36+ commands across 7 modules: project (init, info, scan, context, watch), memory (add, list, search, show, edit, query, delete, restore, export, import), workflows (list, describe, run), agents (list, describe, run, trust), session (end), rules (list, search, resolve, context, profile update, resync), and system (doctor, spec init, spec add, migrate, generate-completions, version). Every command supports --json output.
Yes, dectl is free and open-source under the MIT license. It is a single 6.1MB static binary with no external API dependencies, no telemetry, and no vendor lock-in. You can install it via curl or build from source on Linux, macOS, and Windows.
Every task runs through a review gate. The reviewer loads the stage-aware rules context, pre-scans the diff for suspects (RULES_SUSPECT), and confirms each one with a reason. Only precise blocking matches emit RULES_GATE: FAIL and stop the pipeline with exit 1 (e.g. concatenated SQL, hardcoded secrets, unclosed resources). Advisory matches emit RULES_WARN and pass. Projects without .dec/rules/ get SKIP — the gate never breaks unadopted projects. Accepted exceptions are recorded in .dec/decisions/.
Project context persists in two places. The .dec/ directory stores vision, config, workflows, prompts, decisions, and session state as plain Markdown, YAML, TOML, and JSON files that any AI can read. The memory commands store decisions and notes in local SQLite with full-text search. Running session end syncs git, captures decisions, and writes the handoff note, so the next session resumes with project info and project context without re-explanation.
dectl fits persistent AI memory needs: it is MIT-licensed, local-first, and model-agnostic. Memory lives in local SQLite with full-text search instead of one vendor cloud, one IDE, or one session, and it works with any model — Claude, Gemini, ChatGPT, Ollama — from any terminal. It adds executable YAML workflows, structured .dec/ project context, a 4-agent pipeline, and a 106-rule review gate in a single 6.1MB binary with no telemetry.
No external APIs. No telemetry. One 6.1MB binary.