Skip to content

bjb2/systema-claude

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

systema-claude

A local, file-based workspace for working alongside an AI agent. Your files stay on your disk. The agent reads and writes them through the same window you do. Continuity lives in the folder, not in a vendor's memory feature.

Built as a single desktop binary (Tauri + Rust) with a TUI-style document browser, a knowledge graph view, a code editor, a routines runner, and a multi-agent swarm pane. Comes with a small seed workspace, a verification harness for the file conventions it uses, and example configs for Claude and Codex CLIs.

Status: pre-v0.1.0. The orgd daemon and Tauri app are forked, build cleanly, and run against the bundled seed. Installer (MSI/NSIS) is produced. First public test in progress; rough edges welcome.


Try it

  1. Download systema-claude-v0.1.x.zip from Releases.
  2. Extract the zip to wherever you want your workspace to live (e.g. C:\Users\you\Documents\my-workspace\). The folder you extracted into is your workspace — the contents are yours to edit, rename, and grow.
  3. Run systema-claude.exe from inside that folder. No installer, no Program Files, no admin prompt — the binary lives next to your files.
  4. Open tasks/welcome.md and bring your agent of choice (Claude by default; the claude CLI from Anthropic must be on your PATH). The welcome task is the agent's own onboarding script — it interviews you for ~45 minutes and writes your voice, your projects, and the principles you actually live by into context/. You can pause anywhere.

The welcome task is itself a worked example of how the workspace expects you to operate: a file in the substrate, read by the agent, edited collaboratively, validated by a harness, archived when done.

If the agent CLI isn't installed, the app shows a banner at the top — install whichever you'll use (claude or codex), then restart. The bundled org.config.json accepts arbitrary launchCmd / printArgs if you want to point at a different agent.

If you'd rather hack on systema-claude itself, clone the repo and see "Build from source" below.

What you'll see

systema-claude dashboard, v0.1.0 against the bundled seed

A left-rail navigator with Dashboard / Tasks / Knowledge / Inbox / Graph / Code / Swarm / Routines / Settings. The dashboard summarises your active tasks, blocked items, knowledge entries, and inbox; an Org Health panel below flags orphan articles, broken wikilinks, and frontmatter warnings. Tasks shows your task files grouped by project. Knowledge is your distilled-insights library, also grouped by project tag. Graph visualises the wikilink connections between everything in the workspace. Code is a CodeMirror 6 editor that opens any file in the workspace and saves through the daemon. Swarm spawns up to six agent terminals in a slot grid, each with its own working directory and prompt. Routines is a YAML editor + drag-connect Flow editor for the cron-driven background runner.

A right-side terminal toggles open with backtick. A Pomodoro timer lives at the bottom of the sidebar.

Themes cycle with t. Search palette is Ctrl+K. Most views have keyboard shortcuts (numbers and letters from the sidebar).

The screenshot above is the v0.1.0 build pointed at the bundled seed: 1 active task (the welcome interview), the routines folder shows the format-contract example, and everything is an "orphan" because the seed ships with no inter-document links — that's expected; the user develops the link graph through use.

Agents

Two example configs ship in examples/agents/:

  • claude.json — default. Uses the claude CLI from Anthropic.
  • codex.json — alternative. Uses the codex CLI.

Bring your own: org.config.json in the workspace root accepts arbitrary launchCmd and printArgs. Other agents (Gemini, aider, opencode, cursor-agent, ollama) work fine — we just don't ship configs we haven't personally validated.

How the pieces fit

Three things ship together:

  • systema-claude.exe — the Tauri desktop shell. The window you interact with.
  • orgd — a local Rust daemon, bundled inside the .exe. It owns the file watcher, the document index, agent process management, the routine runner, and an HTTP+WS API on 127.0.0.1:<ephemeral> that the shell talks to. You don't run it directly; the shell launches it on startup.
  • The seed workspaceCLAUDE.md + context/ + empty tasks/ / inbox/ / knowledge/ / routines/ + examples/. The first launch opens this.

The seed is just plain folders on disk. No symlinks, junctions, or special filesystem setup required.

What systema-claude is not

If you've used a few of these and want to know which corner of the design space this lives in:

  • Not a chat interface. There's no thread. The substrate is files; the agent reads and writes them. Conversation is incidental.
  • Not a coding IDE. Code editing is included because some files are code; the point is the workspace, not the syntax highlighting.
  • Not a note-taking app with AI bolted on. The agent is a tenant of the workspace, not a feature button. The architecture assumes the agent will operate on the workspace whether you're watching or not.
  • Not a workflow platform. Routines exist, but they're standing instructions to the agent — not orchestrated nodes in a DAG product.
  • Not a memory feature. Continuity lives in the files. If your tools disappeared tomorrow, the workspace would still read linearly.
  • Not a federation client. Single machine. Architectural hooks are reserved for later, but v1 is just you.
  • Not a stepping stone. systema-claude is its own school, not preparation for something more articulated. See docs/charter.md.

If any of those negations made you think "but I want exactly that thing," pick a different tool. There are good ones.

The verification harness

The harness is the central feature, in the sense that it's the discipline the project tries to teach by structure. Every contract the workspace ships with — frontmatter schema, routine-step output shape, agent invocation envelope — comes with a tiny test runner next to it. Not crypto-grade; just enough to make a divergence visible to one user before it travels to another user, or to a future you who has forgotten the original assumptions.

The reference implementation is examples/harness/validate-frontmatter.py. It walks the workspace and reports any markdown file with missing required frontmatter fields. It self-tests against a pair of valid + invalid fixtures. The pattern (a contract, a passing example, a failing example, a runner) is what you should copy when you write your own contracts.

Maintenance hooks

Two optional Claude Code hooks ship in examples/hooks/. Both are zero-dependency Python (no PyYAML, no pip install).

  • maintenance-check.py — Claude Code Stop hook. Prompts the agent to capture anything worth preserving from the session before it ends.
  • session-start.py — Claude Code SessionStart hook. Loads workspace orientation (tasks, inbox counts, due reminders, voice doc) into the agent's context on every fresh session.

Install both:

python scripts/install-hooks.py

The installer copies the scripts into ~/.claude/hooks/ and prints the JSON snippet to merge into your ~/.claude/settings.json. After updating settings, restart Claude Code.

These hooks are optional — the workspace works without them. They exist because the discipline systema-claude tries to teach (capture immediately, orient before acting) needs structural enforcement, not memory. Skip them for one-off use; install them for daily operation.

Philosophy (one paragraph)

systema-claude is named for the martial art Systema, whose discipline is principles over prescriptions, effectiveness-checking over technique-collecting. The seed ships no prescribed routine templates, no prescribed knowledge taxonomy, no prescribed agent configurations. It ships equipment, labeled. You develop your own practice. The harness substitutes for the second pair of eyes a single-user workspace lacks by definition.

Full charter (including why "no graduation path," what disagreement-as-protocol means in practice, and the architecture-inscribes-profile remedies the project tries to follow) is at docs/charter.md.

Build from source

If you'd rather not run an unsigned binary (Windows Defender will flag the download until the project gets a code-signing certificate), build it yourself.

Prerequisites

  • Rust toolchain (1.77.2 or newer)
  • Node.js 18+ and npm
  • Windows: WebView2 Runtime — preinstalled on Windows 10 (1803+) and Windows 11; download from Microsoft if missing.
  • macOS / Linux: standard Tauri prerequisites — see Tauri's setup guide.

Clone + build

git clone https://github.com/bjb2/systema-claude.git
cd systema-claude/app
npm install
npm run pack

The pack pipeline runs in three steps: cargo build --release for the orgd sidecar daemon, the Tauri release build for the desktop shell, then scripts/pack-distribution.mjs assembles the redistributable zip. First build takes 5–10 minutes.

Outputs land at dist/:

  • dist/systema-claude-v0.1.0/ — the unpacked tree (drop a copy wherever you want your workspace).
  • dist/systema-claude-v0.1.0.zip — same tree, zipped for distribution.
  • dist/systema-claude.exe — the loose binary, in case you already have a workspace and just want to update the exe.

The binary you produce is identical to the published release except for the build timestamp. Still unsigned (signing requires a code-signing certificate from a CA — outside the scope of this project), but you have full provenance: you built it from source you can read.

Tests:

cd orgd && cargo test    # 26 tests across 8 suites
cd ../app && npx tsc      # frontend type-check
python examples/harness/validate-frontmatter.py seed
python examples/harness/validate-frontmatter.py examples/harness/fixtures/valid    # PASS
python examples/harness/validate-frontmatter.py examples/harness/fixtures/invalid  # FAIL with violation

License

MIT. See LICENSE.

Lineage

Spun off from a private parent workspace authored by Bryan Bartley with Claude Opus 4.7. The parent contains personal content — knowledge, projects, voice work — that does not migrate. systema-claude is the public, no-personal-content distillation: the patterns the parent learned, restated for an audience of one (you).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors