codebyplan 1.13.5 → 1.13.7

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 CHANGED
@@ -10,7 +10,7 @@ npx codebyplan setup
10
10
 
11
11
  This will:
12
12
 
13
- 1. Prompt for your API key (get one at [codebyplan.com/settings/api-keys](https://codebyplan.com/settings/api-keys))
13
+ 1. Sign you in via OAuth (a browser window opens automatically; no API key needed)
14
14
  2. Configure Claude Code to connect via remote MCP
15
15
  3. Optionally link a repository
16
16
 
@@ -18,7 +18,7 @@ This will:
18
18
 
19
19
  ### `codebyplan setup`
20
20
 
21
- Interactive setup wizard. Configures your API key and MCP server connection.
21
+ Interactive setup wizard. Authenticates via OAuth and configures the MCP server connection.
22
22
 
23
23
  ### `codebyplan config`
24
24
 
@@ -129,14 +129,15 @@ Claude Code connects to CodeByPlan via a remote MCP server. The `setup` command
129
129
  {
130
130
  "mcpServers": {
131
131
  "codebyplan": {
132
- "url": "https://www.codebyplan.com/mcp",
133
- "headers": { "x-api-key": "your-api-key" }
132
+ "type": "http",
133
+ "url": "https://mcp.codebyplan.com/mcp"
134
134
  }
135
135
  }
136
136
  }
137
137
  ```
138
138
 
139
+ Authentication is handled via OAuth Bearer — no API key is stored in this file.
140
+
139
141
  ## Learn More
140
142
 
141
143
  - [codebyplan.com](https://codebyplan.com)
142
- - [API Keys](https://codebyplan.com/settings/api-keys)
package/dist/cli.js CHANGED
@@ -14,7 +14,7 @@ var VERSION, PACKAGE_NAME;
14
14
  var init_version = __esm({
15
15
  "src/lib/version.ts"() {
16
16
  "use strict";
17
- VERSION = "1.13.5";
17
+ VERSION = "1.13.7";
18
18
  PACKAGE_NAME = "codebyplan";
19
19
  }
20
20
  });
@@ -148,8 +148,7 @@ var init_gitignore_block = __esm({
148
148
  ".claude/scheduled_tasks.lock",
149
149
  ".codebyplan/device.local.json",
150
150
  ".codebyplan/statusline.local.json",
151
- ".codebyplan.local.json",
152
- ".mcp.json"
151
+ ".codebyplan.local.json"
153
152
  ];
154
153
  GITIGNORE_BLOCK_START = "# >>> codebyplan (managed) >>>";
155
154
  GITIGNORE_BLOCK_END = "# <<< codebyplan <<<";
@@ -1230,7 +1229,7 @@ async function readConfig(path8) {
1230
1229
  }
1231
1230
  }
1232
1231
  function buildMcpEntry() {
1233
- return { url: mcpEndpoint() };
1232
+ return { type: "http", url: mcpEndpoint() };
1234
1233
  }
1235
1234
  async function writeMcpConfig(scope) {
1236
1235
  const configPath = getConfigPath(scope);
@@ -1391,11 +1390,6 @@ async function runSetup() {
1391
1390
  const configPath = await writeMcpConfig(scope);
1392
1391
  console.log(` Done! Config written to ${configPath}
1393
1392
  `);
1394
- if (auth.kind === "legacy" && scope === "project") {
1395
- console.log(
1396
- " Note: .mcp.json contains your API key \u2014 add it to .gitignore.\n"
1397
- );
1398
- }
1399
1393
  let repos = [];
1400
1394
  try {
1401
1395
  repos = await fetchRepos(auth);
@@ -1782,8 +1776,9 @@ async function rewriteConfig(path8, config, newUrl) {
1782
1776
  if (!servers) return false;
1783
1777
  const entry = servers.codebyplan;
1784
1778
  if (!entry) return false;
1785
- if (!entryHasLegacyApiKey(entry) && entry.url === newUrl) return false;
1786
- servers.codebyplan = { url: newUrl };
1779
+ if (!entryHasLegacyApiKey(entry) && entry.url === newUrl && entry.type === "http")
1780
+ return false;
1781
+ servers.codebyplan = { type: "http", url: newUrl };
1787
1782
  await writeFile7(path8, JSON.stringify(config, null, 2) + "\n", "utf-8");
1788
1783
  return true;
1789
1784
  }
@@ -1803,7 +1798,7 @@ async function runUpgradeAuth() {
1803
1798
  }
1804
1799
  if (migrated === 0) {
1805
1800
  console.log(
1806
- " No legacy x-api-key MCP entries found \u2014 nothing to migrate."
1801
+ " All codebyplan MCP entries are already up to date \u2014 nothing to change."
1807
1802
  );
1808
1803
  } else {
1809
1804
  console.log(
@@ -5230,7 +5225,9 @@ var init_settings_merge = __esm({
5230
5225
  "fastModePerSessionOptIn",
5231
5226
  "effortLevel",
5232
5227
  "showClearContextOnPlanAccept",
5233
- "syntaxHighlightingDisabled"
5228
+ "syntaxHighlightingDisabled",
5229
+ "remoteControlAtStartup",
5230
+ "agentPushNotifEnabled"
5234
5231
  ];
5235
5232
  }
5236
5233
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebyplan",
3
- "version": "1.13.5",
3
+ "version": "1.13.7",
4
4
  "description": "CLI for CodeByPlan — AI-powered development planning and tracking",
5
5
  "type": "module",
6
6
  "bin": {
@@ -23,6 +23,8 @@
23
23
  "disableSkillShellExecution": false,
24
24
  "skipWebFetchPreflight": false,
25
25
  "fastModePerSessionOptIn": false,
26
+ "remoteControlAtStartup": true,
27
+ "agentPushNotifEnabled": true,
26
28
  "effortLevel": "xhigh",
27
29
  "statusLine": {
28
30
  "type": "command",
@@ -113,7 +113,7 @@ git worktree add "$WORKTREE_PATH" "$BRANCH_NAME"
113
113
 
114
114
  ### Step 6: Set Up MCP Connection
115
115
 
116
- Copy `.mcp.json` from the main repo to the worktree. The config points at the remote MCP endpoint (`https://codebyplan.com/mcp`) and reads the API key from the environment, so no path rewriting is needed:
116
+ Copy `.mcp.json` from the main repo to the worktree. The file is committed and contains only the public MCP URL (no secret), so this is a plain `cp` no path rewriting or key substitution needed:
117
117
 
118
118
  ```bash
119
119
  cp "$MAIN_REPO/.mcp.json" "$WORKTREE_PATH/.mcp.json"
@@ -125,10 +125,8 @@ Expected shape (do NOT rewrite paths — this is remote HTTP):
125
125
  {
126
126
  "mcpServers": {
127
127
  "codebyplan": {
128
- "url": "https://codebyplan.com/mcp",
129
- "headers": {
130
- "x-api-key": "${CODEBYPLAN_API_KEY}"
131
- }
128
+ "type": "http",
129
+ "url": "https://mcp.codebyplan.com/mcp"
132
130
  }
133
131
  }
134
132
  }
@@ -136,7 +134,7 @@ Expected shape (do NOT rewrite paths — this is remote HTTP):
136
134
 
137
135
  ### Step 7: Set Up Environment
138
136
 
139
- Copy `.env.local` from the main repo to the worktree (contains `CODEBYPLAN_API_KEY` and any other local env):
137
+ Copy `.env.local` from the main repo to the worktree (contains the app's environment variables such as Supabase keys and feature flags MCP auth is OAuth Bearer handled by Claude Code, not a key in this file):
140
138
 
141
139
  ```bash
142
140
  cp "$MAIN_REPO/.env.local" "$WORKTREE_PATH/.env.local"
@@ -214,8 +212,7 @@ No need to mark as `skip-worktree` — the committed files are merge-safe per CH
214
212
  **CodeByPlan**: Registered (worktree ID: [id])
215
213
 
216
214
  ### Setup
217
- - MCP: connected (remote endpoint)
218
- - API key: copied from main repo `.env.local`
215
+ - MCP: connected (remote endpoint, OAuth Bearer)
219
216
  - `.claude/` files: full copy on disk (rules, skills, hooks, agents, context)
220
217
 
221
218
  ### Next Steps