@knowsuchagency/fulcrum 3.9.0 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -6
- package/bin/fulcrum.js +9 -6
- package/dist/assets/index-BZ6X9uOg.css +1 -0
- package/dist/assets/{index-Bc5nAkby.js → index-DsqSHPoH.js} +185 -185
- package/dist/index.html +2 -2
- package/drizzle/0067_add_task_type.sql +1 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +1 -1
- package/server/index.js +390 -81
- package/dist/assets/index-B9juJdRd.css +0 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
Fulcrum is your AI-powered command center for shipping software. Built for technical solopreneurs and CTOs who need to multiply their leverage—not just chase the latest coding trend.
|
|
10
10
|
|
|
11
|
-
Run Claude Code across multiple tasks in parallel. Stay connected to your agents via WhatsApp, Email, Discord, Telegram, or Slack. Let your AI assistant monitor messages, filter signal from noise, and send daily briefings—all while you focus on what matters.
|
|
11
|
+
Run Claude Code across multiple tasks in parallel. Choose Git worktrees for isolated code work, Scratch directories for non-git AI agent sessions, or Manual tasks for anything else. Stay connected to your agents via WhatsApp, Email, Discord, Telegram, or Slack. Let your AI assistant monitor messages, filter signal from noise, and send daily briefings—all while you focus on what matters.
|
|
12
12
|
|
|
13
13
|
Fulcrum doesn't replace your tools—it gives you leverage over them. You configure Claude Code with the integrations you need (Notion, Linear, Stripe, whatever). Fulcrum is your window into Claude Code and a literal fulcrum: a small input that moves mountains.
|
|
14
14
|
|
|
@@ -17,7 +17,7 @@ Fulcrum doesn't replace your tools—it gives you leverage over them. You config
|
|
|
17
17
|
- **Claude Code Ecosystem** — Deep integration with Claude Code. Connect via messaging channels, manage tasks, deploy from one dashboard.
|
|
18
18
|
- **Proactive AI Concierge** — Your assistant monitors messages, stores important observations as memories, creates daily plans, and sends morning/evening briefings automatically.
|
|
19
19
|
- **Work From Anywhere** — Run Fulcrum on a remote server. Close your laptop, agents keep working.
|
|
20
|
-
- **Project Management** — Tasks with dependencies, due dates, time estimates, recurrence, labels, and attachments. Visual kanban boards.
|
|
20
|
+
- **Project Management** — Tasks with dependencies, due dates, time estimates, priority levels, recurrence, labels, and attachments. Visual kanban boards.
|
|
21
21
|
- **Production Deployment** — Docker Compose with automatic Traefik routing and Cloudflare DNS/tunnels.
|
|
22
22
|
- **Agent Memory** — Persistent knowledge store with full-text search. Agents remember across sessions.
|
|
23
23
|
- **MCP-First Architecture** — 60+ tools exposed via Model Context Protocol. Agents discover what they need.
|
|
@@ -120,13 +120,23 @@ claude plugin install fulcrum@fulcrum --scope user
|
|
|
120
120
|
|
|
121
121
|
### Kanban Board & AI Assistant
|
|
122
122
|
|
|
123
|
-
Track tasks from planning to done. Set up recurring tasks that auto-create the next occurrence when completed. The built-in AI assistant has full context of everything you're tracking—tasks, projects, apps—and can help with planning, documentation, or running MCP tools.
|
|
123
|
+
Track tasks from planning to done. Set priority levels (high/medium/low), pin important tasks to the top of lists, and set up recurring tasks that auto-create the next occurrence when completed. The built-in AI assistant has full context of everything you're tracking—tasks, projects, apps—and can help with planning, documentation, or running MCP tools.
|
|
124
124
|
|
|
125
125
|

|
|
126
126
|
|
|
127
|
+
### Task Types
|
|
128
|
+
|
|
129
|
+
Three task types for different workflows:
|
|
130
|
+
|
|
131
|
+
| Type | Description |
|
|
132
|
+
|------|-------------|
|
|
133
|
+
| **Git** | Isolated git worktree with AI agent — for code changes with branch isolation |
|
|
134
|
+
| **Scratch** | Isolated directory with AI agent — for non-git work (scripts, analysis, experiments) |
|
|
135
|
+
| **Manual** | No agent, no directory — for tracking work done outside Fulcrum |
|
|
136
|
+
|
|
127
137
|
### Parallel Agent Orchestration
|
|
128
138
|
|
|
129
|
-
Run multiple AI coding agents simultaneously across different tasks.
|
|
139
|
+
Run multiple AI coding agents simultaneously across different tasks. Git tasks get isolated worktrees, Scratch tasks get isolated directories. Monitor and interact with all sessions from one screen.
|
|
130
140
|
|
|
131
141
|

|
|
132
142
|
|
|
@@ -206,7 +216,7 @@ A two-tier memory system gives agents both always-on context and on-demand recal
|
|
|
206
216
|
|
|
207
217
|
### System Monitoring
|
|
208
218
|
|
|
209
|
-
Track CPU, memory, and disk usage while your agents work.
|
|
219
|
+
Track CPU, memory, and disk usage while your agents work. Jobs is a top-level page (`/jobs`, Cmd+6) for managing systemd (Linux) or launchd (macOS) timers. The Messages tab under Monitoring shows all channel messages (WhatsApp, Discord, Telegram, Slack, Email) with filtering by channel and direction.
|
|
210
220
|
|
|
211
221
|

|
|
212
222
|
|
|
@@ -246,7 +256,7 @@ Both plugins include an MCP server with 60+ tools:
|
|
|
246
256
|
|
|
247
257
|
| Category | Description |
|
|
248
258
|
|----------|-------------|
|
|
249
|
-
| **Tasks** | Create, update, move tasks; manage links, labels, attachments, due dates, time estimates, recurrence |
|
|
259
|
+
| **Tasks** | Create, update, move tasks; manage links, labels, attachments, due dates, time estimates, priority, recurrence |
|
|
250
260
|
| **Task Dependencies** | Define prerequisite tasks; visualize with dependency graph |
|
|
251
261
|
| **Projects** | Manage projects with tags, notes, and file attachments |
|
|
252
262
|
| **Repositories** | Add, configure, and link repositories to projects |
|
package/bin/fulcrum.js
CHANGED
|
@@ -44579,9 +44579,10 @@ function registerListTasks(server, client) {
|
|
|
44579
44579
|
});
|
|
44580
44580
|
}
|
|
44581
44581
|
function registerCreateTask(server, client) {
|
|
44582
|
-
server.tool("create_task",
|
|
44582
|
+
server.tool("create_task", 'Create a new task. For worktree tasks, provide repoPath to create a git worktree. For scratch tasks, set type to "scratch" to create an isolated directory without git. For manual tasks, omit both repoPath and type. When tags are provided, returns all existing tags for reference.', {
|
|
44583
44583
|
title: exports_external.string().describe("Task title"),
|
|
44584
|
-
|
|
44584
|
+
type: exports_external.optional(exports_external.enum(["worktree", "scratch"])).describe('Task type: "worktree" for git worktree tasks (default when repoPath provided), "scratch" for isolated directory without git'),
|
|
44585
|
+
repoPath: exports_external.optional(exports_external.string()).describe("Absolute path to the git repository (optional for manual tasks)"),
|
|
44585
44586
|
baseBranch: exports_external.optional(exports_external.string()).describe("Base branch for the worktree (default: main)"),
|
|
44586
44587
|
branch: exports_external.optional(exports_external.string()).describe("Branch name for the task worktree (auto-generated if omitted)"),
|
|
44587
44588
|
description: exports_external.optional(exports_external.string()).describe("Task description"),
|
|
@@ -44596,6 +44597,7 @@ function registerCreateTask(server, client) {
|
|
|
44596
44597
|
recurrenceEndDate: exports_external.optional(exports_external.string()).describe("Stop recurring after this date (YYYY-MM-DD). Omit for no end date.")
|
|
44597
44598
|
}, async ({
|
|
44598
44599
|
title,
|
|
44600
|
+
type,
|
|
44599
44601
|
repoPath,
|
|
44600
44602
|
baseBranch,
|
|
44601
44603
|
branch,
|
|
@@ -44615,6 +44617,7 @@ function registerCreateTask(server, client) {
|
|
|
44615
44617
|
const effectiveBaseBranch = baseBranch ?? "main";
|
|
44616
44618
|
const task = await client.createTask({
|
|
44617
44619
|
title,
|
|
44620
|
+
type: type ?? null,
|
|
44618
44621
|
repoPath: repoPath ?? null,
|
|
44619
44622
|
repoName,
|
|
44620
44623
|
baseBranch: repoPath ? effectiveBaseBranch : null,
|
|
@@ -46448,7 +46451,7 @@ async function runMcpServer(urlOverride, portOverride) {
|
|
|
46448
46451
|
const client = new FulcrumClient(urlOverride, portOverride);
|
|
46449
46452
|
const server = new McpServer({
|
|
46450
46453
|
name: "fulcrum",
|
|
46451
|
-
version: "3.
|
|
46454
|
+
version: "3.10.0"
|
|
46452
46455
|
});
|
|
46453
46456
|
registerTools(server, client);
|
|
46454
46457
|
const transport = new StdioServerTransport;
|
|
@@ -48797,7 +48800,7 @@ var marketplace_default = `{
|
|
|
48797
48800
|
"name": "fulcrum",
|
|
48798
48801
|
"source": "./",
|
|
48799
48802
|
"description": "Task orchestration for Claude Code",
|
|
48800
|
-
"version": "3.
|
|
48803
|
+
"version": "3.10.0",
|
|
48801
48804
|
"skills": [
|
|
48802
48805
|
"./skills/fulcrum"
|
|
48803
48806
|
],
|
|
@@ -50001,7 +50004,7 @@ function compareVersions(v1, v2) {
|
|
|
50001
50004
|
var package_default = {
|
|
50002
50005
|
name: "@knowsuchagency/fulcrum",
|
|
50003
50006
|
private: true,
|
|
50004
|
-
version: "3.
|
|
50007
|
+
version: "3.10.0",
|
|
50005
50008
|
description: "Harness Attention. Orchestrate Agents. Ship.",
|
|
50006
50009
|
license: "PolyForm-Perimeter-1.0.0",
|
|
50007
50010
|
type: "module",
|
|
@@ -50017,7 +50020,7 @@ var package_default = {
|
|
|
50017
50020
|
"db:studio": "drizzle-kit studio"
|
|
50018
50021
|
},
|
|
50019
50022
|
dependencies: {
|
|
50020
|
-
"@anthropic-ai/claude-agent-sdk": "0.
|
|
50023
|
+
"@anthropic-ai/claude-agent-sdk": "0.x",
|
|
50021
50024
|
"@atlaskit/pragmatic-drag-and-drop": "^1.7.7",
|
|
50022
50025
|
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.1.0",
|
|
50023
50026
|
"@azurity/pure-nerd-font": "^3.0.5",
|