Skip to content

ivncmp/dtoolkit

Repository files navigation

dtoolkit

dtoolkit

Open-source harness engineering toolkit for AI coding agents

License GitHub


The frontier isn't the model — it's the harness: loop, context, tools, hooks, memory, observability. dtoolkit is a family of composable products that make your coding agents smarter, faster, and observable.

Each product has one job, works standalone, and composes with the rest via a neutral ContextBlock[] contract. No vendor lock-in — works with Claude Code, OpenCode, Cursor, Codex, and any tool that speaks MCP or CLI.

Packages

Core

Package Version Description
@dtoolkit/core npm Shared types and Zod schemas (Adapter, ContextBlock, Fact, Entity, Tier)
@dtoolkit/sdk npm Typed HTTP clients for dtoolkit services (dbrain + dops + dproxy + dwork)
@dtoolkit/adapter-claude npm Adapter for Claude Code CLI
@dtoolkit/adapter-codex npm Adapter for Codex CLI
@dtoolkit/adapter-gemini npm Adapter for Gemini CLI
@dtoolkit/adapter-opencode npm Adapter for OpenCode CLI
@dtoolkit/codegraph-sdk npm Code intelligence SDK — fork of codegraph

Memory & Context

Package Version Description
@dtoolkit/dbrain npm Persistent memory server — SQLite + FTS5, MCP, REST API, federation, dashboard
@dtoolkit/dcontext npm Hooks for AI coding CLIs — injects dbrain context at session start, saves transcripts pre-compaction

Project Management

Package Version Description
@dtoolkit/dwork npm AI-native project manager — Markdown as source of truth, kanban dashboard, MCP, REST API

Multi-provider Transport

Package Version Description
@dtoolkit/dproxy npm Universal adapter for invoking models — CLI and REST API

Observability

Package Version Description
@dtoolkit/dops npm Agent observability — tokens, cost, tools, success rate, errors

Coming soon

Package Description
@dtoolkit/dcouncil Multi-agent debate for architecture decisions
@dtoolkit/dguard Pre-commit for agents — validate LLM output before applying
@dtoolkit/dpolicy Policy-as-code for the team harness
@dtoolkit/droute Model router (Haiku/Sonnet/Opus) + cost tracking
@dtoolkit/dpair Real-time pair-programming with a shared agent
@dtoolkit/dreplay Session browser for the team (privacy-aware)
@dtoolkit/dstream Daily digest — what each agent learned, decided, or blocked today
@dtoolkit/dforge Internal marketplace for skills, hooks, and slash commands

Architecture

graph TB
    subgraph Agent["Your Agent"]
        CC["Claude Code / OpenCode / Gemini / ..."]
    end

    CC -- "ContextBlock[]" --> dcontext
    CC -- "ContextBlock[]" --> dproxy
    CC -- "MCP / REST" --> personal
    CC -- "MCP / REST" --> dwork

    subgraph Harness["dtoolkit harness"]
        dcontext["dcontext<br/><small>hooks + briefing</small>"]
        dproxy["dproxy<br/><small>transport</small>"]
    end

    subgraph Memory["Memory layer"]
        personal["dbrain <small>(personal)</small><br/><small>identity + memory + knowledge</small>"]
        shared["dbrain <small>(shared / team)</small><br/><small>team knowledge + API keys</small>"]
    end

    subgraph Projects["Project management"]
        dwork["dwork<br/><small>tasks + docs + kanban</small>"]
    end

    dcontext -- "search / save" --> personal
    personal -- "federated recall<br/>share facts" --> shared

    subgraph Adapters["Provider adapters"]
        ac["adapter-claude"]
        ax["adapter-codex"]
        ag["adapter-gemini"]
        ao["adapter-opencode"]
    end

    dproxy --> ac & ax & ag & ao

    style Agent fill:#1a1a2e,color:#fff,stroke:#16213e
    style Harness fill:#0f3460,color:#fff,stroke:#16213e
    style Memory fill:#533483,color:#fff,stroke:#16213e
    style Projects fill:#0f3460,color:#fff,stroke:#16213e
    style Adapters fill:#1a1a2e,color:#fff,stroke:#16213e
    style personal fill:#e94560,color:#fff,stroke:#533483
    style shared fill:#7c3aed,color:#fff,stroke:#533483
    style dwork fill:#e94560,color:#fff,stroke:#533483
Loading

Design principle: one layer, one responsibility. If two products need to sync to function, it's wrong.

Examples

The examples/ directory contains ready-to-run TypeScript examples for the @dtoolkit/sdk clients:

Example Client What it covers
dbrain.ts DBrainClient Health, entity CRUD, facts, search, memory summary, conversations, federation
dops.ts DOpsClient Sessions, token usage, tool calls, events, errors, analytics
dproxy.ts DProxyClient Batch ask, streaming, system prompts, file attachments, history, memory
dwork.ts DWorkClient Projects, tasks, docs, search, overview
demo.ts All SDK clients Combined smoke test
cd examples
npm install
npm start          # init + start servers + run demo + teardown

No configuration needed — the setup script creates a temporary brain, starts dbrain and dproxy, runs the demo, and cleans up. See the examples README for details.

Quick start

# Install dependencies
pnpm install

# Build all packages (dependency-ordered)
pnpm build

# Run tests
pnpm test

# Lint
pnpm lint

Per-package:

pnpm --filter @dtoolkit/dbrain dev      # watch mode
pnpm --filter @dtoolkit/dwork dev       # watch mode
pnpm --filter @dtoolkit/dproxy build    # single build

Contributing

Contributions are welcome! Here's how you can help:

  • Report bugs — open an issue with steps to reproduce
  • Suggest features — open an issue describing the use case and expected behavior
  • Send a PR — fork the repo, create a branch, make your changes, and open a pull request

Development setup

This is a pnpm workspace monorepo using Turborepo for task orchestration and Changesets for versioning.

git clone https://github.com/ivncmp/dtoolkit.git
cd dtoolkit
pnpm install
pnpm build

Submitting changes

  1. Create a feature branch from main
  2. Make your changes and ensure they pass checks: pnpm lint && pnpm format:check && pnpm test
  3. Add a changeset describing your change: pnpm changeset
  4. Push and open a PR against main

CI runs lint, tests, and build automatically. When a PR with changesets is merged, the release workflow creates a version PR — merging that publishes to npm.

Acknowledgements

License

MIT

About

Open-source harness engineering toolkit for AI coding agents.

Resources

License

Stars

6 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors