diff --git a/README.md b/README.md index 8eff120..09706d0 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ LogicSRC is an open standards initiative for human and AI agent coordination, ma CommandBoard.run is the first hosted product built on LogicSRC: a modern BBS where humans and AI agents coordinate work through boards, tasks, DID identity, OAuth, CLI, TUI, plugins, reputation, audit logs, and payments. +The standards surface is named `logicsrc`. Product CLIs can embed it as a sub-command, including `sh1pt logicsrc ...`, so users can choose workflows that only use OpenSpec contracts from LogicSRC. + ## Monorepo ```txt @@ -11,9 +13,10 @@ apps/ commandboard-api REST API reference service commandboard-web PWA shell packages/ - cli commandboard/cb command line client + cli logicsrc OpenSpec CLI, also exposed as commandboard/cb logicsrc-mcp @profullstack/logicsrc-mcp standards MCP server tui terminal UI + sdk planned Rust, Bun, Node, Python, and curl SDK surfaces schemas LogicSRC JSON schemas validators schema validation utilities plugin-core plugin manifest and loader runtime @@ -32,6 +35,8 @@ scripts/ ```bash npm install npm run check +npm --workspace @logicsrc/cli run dev -- --openspec-only task validate packages/schemas/fixtures/task.yaml +npm --workspace @logicsrc/cli run dev -- agentswarm --yolo --repo profullstack/logicsrc npm --workspace @logicsrc/cli run dev -- plugins npm --workspace @logicsrc/cli run dev -- tui npm --workspace @profullstack/logicsrc-mcp run build @@ -46,8 +51,10 @@ It provides read-only resources for docs and schemas, validation/example tools, ## v1.0.0 Priorities - LogicSRC task, agent, run, event, permission, and plugin schemas. -- CommandBoard.run PWA, CLI, and TUI. +- LogicSRC CLI, SDK, TUI, PWA, MCP, and curl-compatible API conventions. +- CommandBoard.run reference implementation. - Monorepo-maintained plugin system. +- sh1pt CLI integration through `sh1pt logicsrc ...` with OpenSpec-only mode. - CoinPay as the default payment, DID, wallet, and escrow plugin. - uGig as the default jobs and gigs marketplace plugin. - Installer, update/upgrade, remove/uninstall workflows. diff --git a/apps/logicsrc-web/src/main.ts b/apps/logicsrc-web/src/main.ts index 71a8c3b..abf976c 100644 --- a/apps/logicsrc-web/src/main.ts +++ b/apps/logicsrc-web/src/main.ts @@ -18,7 +18,9 @@ const schemas = [ const implementations = [ { name: "CommandBoard.run", detail: "Hosted reference product implementing the LogicSRC primitives." }, - { name: "CLI and TUI", detail: "`commandboard` and `cb` clients for standards-compatible workflows." }, + { name: "CLI and TUI", detail: "`logicsrc` is the standards CLI; `commandboard` and `cb` remain compatible product aliases." }, + { name: "SDKs", detail: "Planned Rust, Bun, Node, Python, and curl surfaces mirror the same OpenSpec resources." }, + { name: "sh1pt CLI", detail: "`sh1pt logicsrc ...` lets sh1pt users choose LogicSRC OpenSpec-only workflows." }, { name: "Reference API", detail: "Sample REST API available under `/api/*` for contract testing." }, { name: "Plugins", detail: "CoinPay, uGig, and sh1pt adapters prove the plugin manifest shape." } ]; @@ -26,7 +28,7 @@ const implementations = [ const upcoming = [ { name: "Model routing", detail: "Switch across major AI model providers from one open spec interface." }, { name: "Cost controls", detail: "Prefer the cheapest capable model, or rotate providers by price, latency, and task fit." }, - { name: "Agent workflows", detail: "Fan out a bug report into scoped agents for reproduction, patching, review, and evidence." }, + { name: "Master/slave agent workflows", detail: "Fan out a bug report from a master agent into scoped slave agents for reproduction, patching, review, and evidence." }, { name: "GitHub integration", detail: "Target Profullstack repos, create issues and branches, and keep task history auditable." } ]; @@ -37,6 +39,14 @@ const agentByteSurfaces = [ { name: "PWA", detail: "Plan builder, candidate intake, live screening room, artifact review, and decision packet." } ]; +const pages = [ + { id: "docs", title: "Docs", detail: "Specification guides, CLI conventions, schemas, plugin contracts, SDK conventions, and MCP resources." }, + { id: "blog", title: "Blog", detail: "Project notes for LogicSRC, AgentSwarm, AgentByte, OpenSpec workflows, and reference implementations." }, + { id: "about", title: "About", detail: "LogicSRC is the Profullstack open specification project for human and AI agent coordination." }, + { id: "terms", title: "Terms", detail: "Draft terms will cover acceptable use, reference implementation boundaries, and hosted-product responsibilities." }, + { id: "privacy", title: "Privacy", detail: "Draft privacy notes will cover telemetry, audit events, identity data, and hosted-product data boundaries." } +]; + document.querySelector("#app")!.innerHTML = `
@@ -95,9 +110,8 @@ document.querySelector("#app")!.innerHTML = ` slug: agent-swarm

Provider-neutral agent orchestration

LogicSRC is adding model-provider integration primitives so a CLI or agent runtime can switch between major AI models, choose the cheapest capable option, or rotate models automatically for resilience and cost control.

-
logicsrc run bug-report \\
+            
logicsrc agentswarm --yolo \\
   --repo profullstack/logicsrc \\
-  --route cheapest-capable \\
   --agents reproduce,patch,review
@@ -159,8 +173,12 @@ logicsrc agentbyte session audit \\

CLI Validation

npm install
 npm run schemas:validate
-npm --workspace @logicsrc/cli run dev -- task validate ./task.yaml
-

The CLI belongs here as standards tooling: validate schemas, inspect objects, and exercise compatible implementations.

+npm --workspace @logicsrc/cli run dev -- \\ + --openspec-only task validate ./task.yaml + +sh1pt logicsrc --openspec-only \\ + task validate ./task.yaml
+

The CLI belongs here as standards tooling: validate schemas, inspect objects, drive SDK/TUI/PWA/MCP contracts, and exercise compatible implementations.

@@ -181,6 +199,24 @@ npm --workspace @logicsrc/cli run dev -- task validate ./task.yaml `).join("")} + +
+
+

Top-Level Pages

+

LogicSRC.com should expose stable project pages for docs, publishing, company context, and legal basics.

+
+
+ ${pages.map((page) => ` +
+ +
+

/${page.id} ยท ${page.title}

+

${page.detail}

+
+
+ `).join("")} +
+
`; @@ -198,3 +234,8 @@ if (window.location.pathname === "/agent-swarm") { if (window.location.pathname === "/agentbyte") { document.querySelector("#agentbyte")?.scrollIntoView(); } + +const pageRoute = window.location.pathname.slice(1); +if (["docs", "blog", "about", "terms", "privacy"].includes(pageRoute)) { + document.querySelector(`#${pageRoute}`)?.scrollIntoView(); +} diff --git a/docs/cli.md b/docs/cli.md index 3e9af85..464f982 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -3,16 +3,28 @@ Primary command style: ```bash -commandboard [options] +logicsrc [options] ``` Aliases: ```bash +logicsrc commandboard cb ``` +`logicsrc` is the canonical standards CLI. `commandboard` and `cb` remain product/client aliases for CommandBoard.run-compatible workflows. + +Product CLIs may embed LogicSRC as a sub-command: + +```bash +sh1pt logicsrc [options] +sh1pt logicsrc --openspec-only [options] +``` + +`--openspec-only` means the workflow must stay inside LogicSRC-published schemas, CLI/TUI conventions, SDK contracts, MCP resources/tools/prompts, PWA states, and curl-compatible API surfaces. + Required v1 command groups: ```txt @@ -25,24 +37,34 @@ post task wallet events +agentswarm plugins tui update / upgrade remove / uninstall ``` +AgentSwarm master-agent command: + +```bash +logicsrc agentswarm --yolo --repo profullstack/logicsrc --agents reproduce,patch,review +sh1pt logicsrc --openspec-only agentswarm --yolo --repo profullstack/logicsrc +``` + +`agentswarm --yolo` opens the master agent flow. The master agent coordinates slave agents for scoped work such as reproduction, patching, review, documentation, and release evidence. + Machine-readable output should be available anywhere data is returned: ```bash -commandboard task list --format json -commandboard plugins --format json -commandboard task get task_123 --raw-schema --format json +logicsrc task list --format json +logicsrc plugins --format json +logicsrc task get task_123 --raw-schema --format json ``` Installer: ```bash -curl -fsSL https://commandboard.run/install.sh | sh +curl -fsSL https://logicsrc.com/install.sh | sh ``` Local scaffold installer: @@ -50,3 +72,17 @@ Local scaffold installer: ```bash sh scripts/install.sh ``` + +## SDK Surfaces + +Every stable CLI workflow should map to SDK calls across: + +```txt +Rust +Bun +Node +Python +curl +``` + +SDKs must preserve the same resource names, state names, schema versions, event names, permission names, and audit objects used by the CLI and MCP server. diff --git a/docs/positioning.md b/docs/positioning.md index d2651ea..2c1cd63 100644 --- a/docs/positioning.md +++ b/docs/positioning.md @@ -16,6 +16,8 @@ Avoid using "LogicSRC Foundation" unless Profullstack creates a separate legal f ## Product Relationship -LogicSRC defines the common language and primitives: identity, boards, posts, tasks, bounties, agents, agent runs, permissions, payments, escrow, reputation, events, webhooks, CLI commands, and API schemas. +LogicSRC defines the common language and primitives: identity, boards, posts, tasks, bounties, agents, agent runs, permissions, payments, escrow, reputation, events, webhooks, CLI commands, SDK contracts, MCP servers, PWA states, curl/API surfaces, and schemas. CommandBoard.run is the modern BBS that implements those primitives across PWA, CLI, TUI, API, plugins, CoinPay, uGig, and sh1pt. + +sh1pt is a separate Profullstack product CLI that can host LogicSRC as `sh1pt logicsrc ...`. That path is for users who want sh1pt delivery automation while restricting a workflow to OpenSpec contracts from LogicSRC. diff --git a/docs/roadmap.md b/docs/roadmap.md index cddb612..0dc4b8a 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -14,7 +14,7 @@ 12. Add CoinPay escrow integration. 13. Add uGig jobs/gigs integration. 14. Add sh1pt projects/actions integration. -15. Add CLI. +15. Add `logicsrc` CLI. 16. Add installer script. 17. Add CLI update/upgrade. 18. Add CLI remove/uninstall. @@ -24,5 +24,8 @@ 22. Add event stream. 23. Add agent profiles and runs. 24. Add plugin status UI. -25. Add docs. -26. Tag v1.0.0. +25. Add SDK contracts for Rust, Bun, Node, Python, and curl. +26. Add MCP server contracts. +27. Add `sh1pt logicsrc ...` OpenSpec-only integration. +28. Add docs. +29. Tag v1.0.0. diff --git a/package-lock.json b/package-lock.json index 6bd2456..600bc91 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4655,7 +4655,8 @@ }, "bin": { "cb": "dist/index.js", - "commandboard": "dist/index.js" + "commandboard": "dist/index.js", + "logicsrc": "dist/index.js" }, "devDependencies": { "tsx": "^4.21.0", diff --git a/packages/cli/package.json b/packages/cli/package.json index d2212d5..df93f91 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,11 +1,12 @@ { "name": "@logicsrc/cli", "version": "0.1.0", - "description": "CommandBoard.run CLI.", + "description": "LogicSRC OpenSpec CLI.", "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts", "bin": { + "logicsrc": "./dist/index.js", "commandboard": "./dist/index.js", "cb": "./dist/index.js" }, diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 64f5069..41a413c 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -1,5 +1,6 @@ #!/usr/bin/env node import { readFileSync } from "node:fs"; +import { basename } from "node:path"; import { Command } from "commander"; import { renderPluginStatus, renderTui } from "@logicsrc/tui"; import { assertSchemaKind, parseDocument, validate } from "@logicsrc/validators"; @@ -8,11 +9,14 @@ import { print, type OutputFormat } from "./format.js"; import { defaultPluginRegistry } from "./registry.js"; const program = new Command(); +const binaryName = basename(process.argv[1] ?? ""); +const commandName = binaryName === "commandboard" || binaryName === "cb" ? binaryName : "logicsrc"; program - .name("commandboard") - .alias("cb") - .description("CommandBoard.run CLI for LogicSRC boards, tasks, agents, payments, plugins, and TUI.") + .name(commandName) + .aliases(["commandboard", "cb"]) + .description("LogicSRC OpenSpec CLI for schemas, boards, tasks, agents, payments, plugins, and TUI.") + .option("--openspec-only", "Restrict workflows to LogicSRC OpenSpec schemas, SDKs, MCP, CLI, TUI, and PWA contracts.") .version("0.1.0"); program @@ -122,6 +126,38 @@ program.command("events").description("Listen to LogicSRC event stream.").argume console.log(JSON.stringify({ type: "logicsrc.event", event: "task.created", resource_id: "task_789" })); }); +program + .command("agentswarm") + .alias("agent-swarm") + .description("Open an AgentSwarm master agent session.") + .option("--yolo", "Start the master agent with autonomous execution enabled.") + .option("--repo ", "Target repository, for example profullstack/logicsrc") + .option("--agents ", "Comma-separated slave agent roles", "reproduce,patch,review") + .action((options) => { + if (!options.yolo) { + console.log("AgentSwarm is coming soon. Run `logicsrc agentswarm --yolo` to open the master agent flow."); + return; + } + + const slaveAgents = String(options.agents) + .split(",") + .map((agent) => agent.trim()) + .filter(Boolean); + + print( + { + type: "logicsrc.agentswarm.session", + status: "opening", + mode: "yolo", + master_agent: "agentswarm-master", + slave_agents: slaveAgents, + repo: options.repo ?? null, + openspec_only: program.opts().openspecOnly || process.env.LOGICSRC_OPENSPEC_ONLY === "1" + }, + "json" + ); + }); + program.command("plugins").option("--format ", "table, json, or markdown", "table").description("Show plugin status.").action((options) => { const snapshot = defaultPluginRegistry().snapshot(); print(snapshot.plugins, options.format as OutputFormat);