Add LogicSRC CLI and AgentSwarm surfaces

This commit is contained in:
Anthony Ettinger 2026-06-06 16:09:23 +00:00
parent ec2e721df1
commit 3b3d7ec09a
8 changed files with 149 additions and 22 deletions

View file

@ -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.

View file

@ -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<HTMLDivElement>("#app")!.innerHTML = `
<main class="shell">
<aside class="rail">
@ -53,6 +63,11 @@ document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
<a href="/agent-swarm">Soon</a>
<a href="/agentbyte">AgentByte</a>
<a href="#cli">CLI</a>
<a href="/docs">Docs</a>
<a href="/blog">Blog</a>
<a href="/about">About</a>
<a href="/terms">Terms</a>
<a href="/privacy">Privacy</a>
<a href="#reference">Reference</a>
</nav>
</aside>
@ -95,9 +110,8 @@ document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
<span>slug: agent-swarm</span>
<h3>Provider-neutral agent orchestration</h3>
<p>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.</p>
<pre><code>logicsrc run bug-report \\
<pre><code>logicsrc agentswarm --yolo \\
--repo profullstack/logicsrc \\
--route cheapest-capable \\
--agents reproduce,patch,review</code></pre>
</article>
<div class="soon-grid">
@ -159,8 +173,12 @@ logicsrc agentbyte session audit \\
<h2>CLI Validation</h2>
<pre><code>npm install
npm run schemas:validate
npm --workspace @logicsrc/cli run dev -- task validate ./task.yaml</code></pre>
<p>The CLI belongs here as standards tooling: validate schemas, inspect objects, and exercise compatible implementations.</p>
npm --workspace @logicsrc/cli run dev -- \\
--openspec-only task validate ./task.yaml
sh1pt logicsrc --openspec-only \\
task validate ./task.yaml</code></pre>
<p>The CLI belongs here as standards tooling: validate schemas, inspect objects, drive SDK/TUI/PWA/MCP contracts, and exercise compatible implementations.</p>
</div>
</section>
@ -181,6 +199,24 @@ npm --workspace @logicsrc/cli run dev -- task validate ./task.yaml</code></pre>
`).join("")}
</div>
</section>
<section id="pages" class="band">
<div class="section-head">
<h2>Top-Level Pages</h2>
<p>LogicSRC.com should expose stable project pages for docs, publishing, company context, and legal basics.</p>
</div>
<div class="implementation-list">
${pages.map((page) => `
<article id="${page.id}">
<span></span>
<div>
<h3>/${page.id} · ${page.title}</h3>
<p>${page.detail}</p>
</div>
</article>
`).join("")}
</div>
</section>
</section>
</main>
`;
@ -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();
}

View file

@ -3,16 +3,28 @@
Primary command style:
```bash
commandboard <resource> <action> [options]
logicsrc <resource> <action> [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 <resource> <action> [options]
sh1pt logicsrc --openspec-only <resource> <action> [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.

View file

@ -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.

View file

@ -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.

3
package-lock.json generated
View file

@ -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",

View file

@ -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"
},

View file

@ -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 <repo>", "Target repository, for example profullstack/logicsrc")
.option("--agents <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 <format>", "table, json, or markdown", "table").description("Show plugin status.").action((options) => {
const snapshot = defaultPluginRegistry().snapshot();
print(snapshot.plugins, options.format as OutputFormat);