Getting Started
Set up Datarim in under 5 minutes
D Documentation: Diátaxis Taxonomy
Every Datarim-managed repo and product site must organise its documentation per Diátaxis: four orthogonal categories — tutorials/ (learning), how-to/ (problem-solving), reference/ (lookup), explanation/ (understanding).
docs/
├── tutorials/ # learning-oriented
├── how-to/ # problem-solving (testing, deployment, gotchas)
├── reference/ # information-oriented (architecture, api, cli)
└── explanation/ # understanding-oriented (design, concepts)
Closed set: faq, glossary, troubleshooting, examples — mappable, never separate top-level types. Stack-agnostic — SSG/CMS choice per-project. Soft audit via /dr-optimize; hard CI gate deferred until ≥3 live consumers adopt the mandate.
1 Prerequisites
You need Claude Code installed and running.
# Install Claude Code (if not already)
curl -fsSL https://claude.ai/install.sh | bash
claude --version
macOS / Linux / WSL. For Windows: irm https://claude.ai/install.ps1 | iex (PowerShell). Documentation →
2 Install Datarim
git clone https://github.com/Arcanada-one/datarim.git
cd datarim
./install.sh --with-claude # Claude Code (symlink, default)
./install.sh --with-codex # Codex CLI (multi-runtime, v2.0+)
./install.sh --with-claude --with-codex # both runtimes at once
The installer creates symlinks ~/.claude/{skills,agents,commands,templates} → code/datarim/<scope>/. Runtime IS the repo: editing any file under ~/.claude/ shows up immediately as git diff — no drift, no manual sync.
./install.sh --copyExisting copy-mode install? The installer detects it and offers conversion (3 options: convert / keep / abort) with auto-backup.
Personal additions / overrides go to gitignored overlay ~/.claude/local/{skills,agents,commands,templates}/. Local wins on name conflict.
3 Updating Datarim
Already have Datarim installed? Update to the latest version:
cd /path/to/datarim
./update.sh # topology-aware: symlink → git pull, copy → install --copy --force --yes
git pull origin main — runtime updates atomically with the repo. No re-install needed.install.sh --copy --force --yes — re-sync runtime with auto-backup in ~/.claude/backups/.4 Your First Task
Navigate to any project and start Claude Code:
cd /path/to/your/project
claude
# Inside Claude Code:
/dr-init Add dark mode toggle to settings page
Datarim analyzes your request, determines complexity (L1-L4), and creates task tracking in datarim/.
Since v2.7.0: Step 2.5b adds a soft advisory when your description overlaps in topic with an item already pending in the backlog, so you do not spawn a second ID for the same work. Non-blocking — you decide duplicate / refine-scope / orthogonal before continuing.
5 Follow the Pipeline
Not every task needs all 8 stages. Datarim routes by complexity:
6 Essential Commands
/dr-help
List all commands
/dr-init
Start a new task
/dr-prd
Requirements + context research
/dr-plan
Detailed implementation plan
/dr-do
Implement planned changes (TDD)
/dr-qa
Run quality checks
/dr-archive
Reflect, archive, update backlog
/dr-write
Create content
/dr-publish
Publish to platforms
/dr-status
Current task progress
7 Project Structure
After /dr-init, your project gets:
your-project/
├── datarim/ # workflow state (add to .gitignore)
│ ├── tasks.md # active tasks
│ ├── backlog.md # pending items
│ ├── activeContext.md # current focus
│ ├── progress.md # status overview
│ ├── insights/ # research findings
│ └── ... # prd/, creative/, reflection/
└── documentation/
└── archive/ # completed tasks (commit this)
├── web/
├── infrastructure/
└── ...
datarim/ is your local workflow — add to .gitignore. documentation/archive/ is project history — commit to git.
Init-task file and Q&A log (v2.9.0): /dr-init stores your original prompt in datarim/tasks/{ID}-init-task.md verbatim. Every later clarification — the agent's question and your answer — is auto-appended to the file's Append-log as a structured «Q&A by /dr-<stage>» block. If you do not answer, the agent decides autonomously by best practices and records a rationale of at least 50 characters; the review stage verifies every autonomous decision against the implementation.
8 Plugins (v1.23.0+)
Extend Datarim with opt-in plugins via /dr-plugin. Each plugin is a directory with plugin.yaml + {skills,agents,commands,templates}/ subdirs. Enabling creates symlinks under ~/.claude/<cat>/<plugin-id>/.
/dr-plugin list # active set
/dr-plugin enable /path/to/my-plugin # enable a local plugin
/dr-plugin disable my-plugin # disable
/dr-plugin sync # reconcile runtime ↔ manifest
/dr-plugin doctor [--fix] # 9 health checks
Active-set manifest: datarim/enabled-plugins.md. Pre-mutation snapshot/rollback on every enable. Full reference — command page →
9 Network Exposure Baseline (v1.24.0+)
Secure-by-default contract for network bind targets: docker-compose ports, redis.conf bind, postgresql.conf listen_addresses, systemd .socket. Public-by-default = breach-by-default; the new network-exposure-baseline.md skill formalises the tier model with TTL-bounded waivers.
127.0.0.1, ::1) — allowed; standard for dev compose.100.64.0.0/10 — allowed (mesh-only by definition).0.0.0.0, [::], public IPs — require inline x-exposure-justification + x-exposure-expires (≤90 days).Local pre-commit check:
dev-tools/network-exposure-check.sh \
--compose docker-compose.yml \
--redis-conf redis.conf \
--postgres-conf postgresql.conf
# exit 0 — clean; exit 1 — violation
Reusable CI workflow in .github/workflows/ci.yml:
jobs:
network-exposure:
uses: Arcanada-one/datarim/.github/workflows/network-exposure-lint.yml@main
with:
compose-paths: 'docker-compose.yml,docker-compose.prod.yml'
Pipeline commands (/dr-prd, /dr-plan, /dr-do, /dr-archive) auto-load the skill on network-surface changes. Tiered gate: P0 / security / infrastructure / framework-hardening tasks → hard_block; otherwise → advisory_warn with operator override.
10 Autonomous Agent Operating Rules (v2.6.0+)
When operator requirements are incomplete, complex, or ambiguous, the agent must not stall and escalate unnecessarily. Eight canonical rules (FB-1..FB-8) define autonomous behaviour under Supreme Directive Laws 1-5. The mandate lives in the consumer's ecosystem CLAUDE.md (canonical text + audit tagging); Datarim ships only the machine-readable contract block.
Machine-readable policy block:
plugins/dr-orchestrate/rules/fb-rules.yaml
# rules: 8 × {rule_id, enforcement_layer, tier, default_action,
# reversibility_required, audit_required, conflicts_with_law}
# hard_gated_actions: [prod_deploy, secret_rotation, irreversible_db_op,
# public_communication, finance_action, legal_action,
# force_push_main, git_history_delete, multi_user_visible_action]
Hierarchy: Supreme Directive (Laws 1-5) > Autonomous Agent Operating Rules > AAL Mandate > project-specific mandates. hard_gated_actions NEVER auto-execute regardless of FB-5. Loader: scripts/rules_loader.sh § load_fb_policy() / load_fb_hard_gates().