prodboard 0.1.1 → 0.1.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # prodboard
2
2
 
3
+ ## 0.1.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 79dd032: Auto-initialize prodboard when the MCP server starts, removing the need to run `prodboard init` separately
8
+
9
+ ## 0.1.2
10
+
11
+ ### Patch Changes
12
+
13
+ - a9f2241: Fix daemon failing immediately by adding `--verbose` flag required for `--output-format stream-json` in print mode
14
+
3
15
  ## 0.1.1
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -25,10 +25,7 @@ Cron Daemon ──┘
25
25
  # Install
26
26
  bun install -g prodboard
27
27
 
28
- # Initialize
29
- prodboard init
30
-
31
- # Connect Claude Code to the board
28
+ # Connect Claude Code to the board (auto-initializes on first use)
32
29
  claude mcp add prodboard -- bunx prodboard mcp
33
30
  ```
34
31
 
@@ -297,6 +294,16 @@ bun test
297
294
  bun run typecheck
298
295
  ```
299
296
 
297
+ ## Upgrading
298
+
299
+ ```bash
300
+ # Update to the latest version
301
+ bun install -g prodboard@latest
302
+
303
+ # If running as a systemd service, reinstall to pick up the new binary path
304
+ prodboard install --force
305
+ ```
306
+
300
307
  ## License
301
308
 
302
309
  MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prodboard",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Self-hosted, CLI-first issue tracker and cron scheduler for AI coding agents",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -71,7 +71,8 @@ export async function install(args: string[]): Promise<void> {
71
71
  const alreadyInstalled = fs.existsSync(SERVICE_PATH);
72
72
 
73
73
  if (alreadyInstalled && !flags.force) {
74
- console.log("prodboard is already installed as a systemd service.");
74
+ console.log("prodboard is already installed as a systemd service. Restarting...");
75
+ await runSystemctl("restart", SERVICE_NAME);
75
76
  const { stdout } = await runSystemctl("status", SERVICE_NAME);
76
77
  console.log(stdout);
77
78
  return;
@@ -99,7 +100,7 @@ export async function install(args: string[]): Promise<void> {
99
100
  process.exit(1);
100
101
  }
101
102
 
102
- const start = await runSystemctl("start", SERVICE_NAME);
103
+ const start = await runSystemctl("restart", SERVICE_NAME);
103
104
  if (start.exitCode !== 0) {
104
105
  console.error("Failed to start service:", start.stderr);
105
106
  process.exit(1);
package/src/index.ts CHANGED
@@ -161,7 +161,6 @@ export async function main(): Promise<void> {
161
161
  break;
162
162
  }
163
163
  case "mcp": {
164
- ensureInitialized();
165
164
  const { startMcpServer } = await import("./mcp.ts");
166
165
  await startMcpServer();
167
166
  break;
package/src/invocation.ts CHANGED
@@ -46,7 +46,7 @@ export function buildInvocation(
46
46
  args.push("--dangerously-skip-permissions");
47
47
 
48
48
  // Output format
49
- args.push("--output-format", "stream-json");
49
+ args.push("--verbose", "--output-format", "stream-json");
50
50
 
51
51
  // MCP config
52
52
  const mcpConfigPath = path.join(PRODBOARD_DIR, "mcp.json");
package/src/mcp.ts CHANGED
@@ -7,8 +7,9 @@ import {
7
7
  ReadResourceRequestSchema,
8
8
  } from "@modelcontextprotocol/sdk/types.js";
9
9
  import { Database } from "bun:sqlite";
10
+ import { existsSync } from "fs";
10
11
  import { ensureDb } from "./db.ts";
11
- import { loadConfig } from "./config.ts";
12
+ import { loadConfig, PRODBOARD_DIR } from "./config.ts";
12
13
  import {
13
14
  createIssue, getIssueByPrefix, listIssues, updateIssue,
14
15
  deleteIssue, getIssueCounts, validateStatus, resolveIssueId,
@@ -432,6 +433,10 @@ export async function handleListRuns(db: Database, params: any) {
432
433
  }
433
434
 
434
435
  export async function startMcpServer(): Promise<void> {
436
+ if (!existsSync(PRODBOARD_DIR)) {
437
+ const { init } = await import("./commands/init.ts");
438
+ await init([]);
439
+ }
435
440
  const db = ensureDb();
436
441
  const config = loadConfig();
437
442
  const pkg = await import("../package.json");