MCPcopy Index your code
hub / github.com/IgorShadurin/open-clap

github.com/IgorShadurin/open-clap @0.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.0.1 ↗ · + Follow
1,024 symbols 2,546 edges 243 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

👏 OpenClap

OpenClap is AI agent orchestration on steroids: a local-first system built to drive large volumes of AI-executable work across projects and subprojects with high-throughput, low-touch execution control.

Why This Project Exists

OpenClap is primarily for unattended execution windows (for example nights, weekends, or any time you are away). Instead of waiting for manual supervision, the system coordinates AI-executable work across many projects and subprojects while you are not actively interacting with it.

This project focuses on orchestration:

  • Cross-project prioritization and deterministic execution control
  • Independent subproject scoping for cleaner task separation
  • Runtime controls for pause, resume, stop, and safe task updates
  • Reusable list management with $list-* placeholders (for example language or country code sets)
  • Daemon-side list fan-out execution: one task template can run once per list item with per-item retry handling and aggregated results

The product goal is to help users with heavy Codex usage (including Pro subscription workflows) keep task operations organized, traceable, and scalable with OpenClap.

What It Solves

  • High-volume orchestration of AI tasks across many projects and subprojects
  • Unattended/off-hours execution without constant manual supervision
  • Queue discipline and priority ordering for what runs first
  • Fine-grained operational control for long-running and queued work
  • Reusable list-driven execution patterns ($list-*) so one task definition can scale across many variants
  • Predictable lifecycle and audit-friendly execution outcomes for each run

Feature details will evolve over time, but the core objective remains stable: reliable orchestration for AI-driven task management on a local machine.

Quick Start

  1. Install dependencies:
npm install
  1. Create local environment configuration:
cp example.env .env
  1. Initialize the SQLite database (first run and after pulling new migrations):
npx prisma migrate deploy

If the SQLite file from .env does not exist yet, Prisma creates it and applies all migrations.

  1. Run the project:
npm run dev

Technical Notes

This repository is implemented in TypeScript and currently uses Next.js for the application runtime. More components (database, daemon, orchestration APIs, and UI management flows) are introduced incrementally as the implementation plan is completed.

Environment Variables

Configuration is loaded from .env. Example values are provided in example.env.

  • SQLITE_DB_PATH: Local SQLite file path.
  • DATABASE_URL: SQLite URL format for Prisma-compatible tooling.
  • PORT: Local server port.
  • SETTINGS_<key>: Dynamic settings overrides (for example daemon concurrency, message templates, and default project paths).

Settings priority is:

  1. DB value (highest)
  2. .env value from SETTINGS_<key>
  3. In-code default (lowest)

Database and Migration Workflow (Developers)

  • After pulling latest code, apply migrations to your current local DB:
npx prisma migrate deploy
  • When creating a new schema change:
npm run prisma:migrate:dev -- --name <feature_name>
  • After creating a migration, re-generate Prisma Client:
npm run prisma:generate

Maintenance Workflow

  • Run npm run lint before targeted tests and before the full suite.
  • Use focused tests for the area you changed, then run npm test.
  • Running tasks stay non-editable across UI and server flows.
  • Current model policy and the existing spark fast path are documented in docs/CODEX_MODEL_POLICY.md.

Extension points exported contracts — how you extend this code

DaemonApiClient (Interface)
(no doc) [10 implementers]
scripts/daemon/api-client.ts
TaskResponseEntry (Interface)
(no doc)
src/components/project-tasks-page/content-impl.tsx
ListTokenQueryMatch (Interface)
(no doc)
src/lib/list-token-autocomplete.ts
ProjectTasksRoutePageProps (Interface)
(no doc)
src/app/projects/[projectId]/tasks/page.tsx
MemoryStorage (Interface)
(no doc)
tests/lib/task-form-preferences.test.ts
ProjectTreeRow (Interface)
(no doc)
tests/api/project-task-list-toggle-metadata.test.ts
TaskExecutionLockLike (Interface)
(no doc)
shared/logic/task-lock.ts
DaemonTask (Interface)
(no doc)
shared/contracts/task.ts

Core symbols most depended-on inside this repo

createApiError
called by 116
src/lib/api-error.ts
log
called by 69
scripts/daemon/task-audit-log.ts
requestJson
called by 55
src/components/app-dashboard/helpers.ts
assertTestDatabaseGuard
called by 45
tests/helpers/test-db.ts
preventDefault
called by 43
src/lib/drag-drop.ts
publishAppSync
called by 43
src/lib/live-sync.ts
scopeKey
called by 25
src/components/app-dashboard/content-impl.tsx
createTask
called by 24
src/lib/entities-service.ts

Shape

Function 742
Interface 180
Method 84
Class 18

Languages

TypeScript100%

Modules by API surface

src/lib/entities-service.ts34 symbols
src/lib/codex-usage.ts33 symbols
src/components/app-dashboard/content-impl.tsx31 symbols
scripts/daemon/api-client.ts31 symbols
src/lib/skills-service.ts28 symbols
src/components/task-quick-add/content-impl.tsx26 symbols
src/components/project-tasks-page/content-impl.tsx25 symbols
scripts/daemon/execution-cycle-usage-gate.ts23 symbols
src/components/skills-page/content-impl.tsx22 symbols
src/lib/file-drop.ts20 symbols
src/components/main-projects-page/content-actions-projects.ts20 symbols
src/lib/lists-service.ts19 symbols

Datastores touched

appDatabase · 1 repos

For agents

$ claude mcp add open-clap \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact