@launchchair/agent 0.4.8 → 0.4.9
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 +1 -1
- package/launchchair-cli.mjs +9 -25
- package/local-bridge.mjs +1 -1
- package/mcp-bridge-server.mjs +1 -1
- package/package.json +8 -1
- package/server.json +45 -0
package/README.md
CHANGED
|
@@ -117,7 +117,7 @@ launchchair mcp-config claude
|
|
|
117
117
|
launchchair install-agent-md --cwd /absolute/path/to/repo-or-empty-folder
|
|
118
118
|
```
|
|
119
119
|
|
|
120
|
-
Feature
|
|
120
|
+
Feature projects can be created and planned from the CLI for every authenticated LaunchChair workspace:
|
|
121
121
|
|
|
122
122
|
```bash
|
|
123
123
|
launchchair create \
|
package/launchchair-cli.mjs
CHANGED
|
@@ -15,7 +15,7 @@ import path from "node:path";
|
|
|
15
15
|
import process from "node:process";
|
|
16
16
|
import { fileURLToPath } from "node:url";
|
|
17
17
|
|
|
18
|
-
const VERSION = "0.4.
|
|
18
|
+
const VERSION = "0.4.9";
|
|
19
19
|
const SCRIPT_DIR = path.dirname(fileURLToPath(import.meta.url));
|
|
20
20
|
const DEFAULT_BASE_URL = "https://www.launchchair.io";
|
|
21
21
|
const CONFIG_DIR = process.env.LAUNCHCHAIR_CONFIG_DIR?.trim()
|
|
@@ -603,7 +603,7 @@ async function createProject(args) {
|
|
|
603
603
|
const featureProblem = String(args.problem ?? "").trim();
|
|
604
604
|
if (featureProject && (!featureDescription || !featureProblem)) {
|
|
605
605
|
throw new Error(
|
|
606
|
-
"Feature creation requires --feature-description (or --one-liner) and --problem.
|
|
606
|
+
"Feature creation requires --feature-description (or --one-liner) and --problem.",
|
|
607
607
|
);
|
|
608
608
|
}
|
|
609
609
|
const changesExistingWorkflow =
|
|
@@ -1224,7 +1224,6 @@ function installAgentMd(args) {
|
|
|
1224
1224
|
|
|
1225
1225
|
function installLaunchChairSkill(args) {
|
|
1226
1226
|
const cwd = path.resolve(String(args.cwd || process.cwd()));
|
|
1227
|
-
const featureEnabled = args.featureEnabled === true;
|
|
1228
1227
|
const skillDir = path.join(cwd, ".agents", "skills", "launchchair");
|
|
1229
1228
|
const target = path.join(skillDir, "SKILL.md");
|
|
1230
1229
|
if (existsSync(target)) {
|
|
@@ -1237,9 +1236,7 @@ function installLaunchChairSkill(args) {
|
|
|
1237
1236
|
[
|
|
1238
1237
|
"---",
|
|
1239
1238
|
"name: launchchair",
|
|
1240
|
-
|
|
1241
|
-
? "description: Use whenever the user mentions LaunchChair or asks to create, plan, validate, or build a Product or a Feature in an existing product with LaunchChair."
|
|
1242
|
-
: "description: Use whenever the user mentions LaunchChair or asks to create, plan, validate, or build a Product with LaunchChair.",
|
|
1239
|
+
"description: Use whenever the user mentions LaunchChair or asks to create, plan, validate, or build a Product or a Feature in an existing product with LaunchChair.",
|
|
1243
1240
|
"---",
|
|
1244
1241
|
"",
|
|
1245
1242
|
"# LaunchChair workflow",
|
|
@@ -1247,15 +1244,11 @@ function installLaunchChairSkill(args) {
|
|
|
1247
1244
|
"Use the installed LaunchChair MCP tools before web search or local repo discovery for LaunchChair project work.",
|
|
1248
1245
|
"Call launchchair_status if capability context is unclear.",
|
|
1249
1246
|
"For a new product, use launchchair_create_project.",
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
"After Feature validation, call launchchair_get_scorecards. Feature Pain, Pattern Saturation, and Feature Opportunity are the validation scorecards; generated direction scores only rank directions inside the idea.",
|
|
1256
|
-
"When comparing multiple Feature ideas, require evidence across ICP complaint themes, delight themes, substitute behaviors, and competitor gaps; then evaluate each with the scorecards, maximize Feature Pain and Feature Opportunity, minimize Pattern Saturation, and prefer ideas that pass every returned recommended threshold.",
|
|
1257
|
-
]
|
|
1258
|
-
: []),
|
|
1247
|
+
"For a feature in an existing product, use launchchair_create_feature_project. Never substitute a Product project if that tool is unavailable; report the setup or authentication issue instead.",
|
|
1248
|
+
"Use planToBuildBoard=true for planning through the Feature build board.",
|
|
1249
|
+
"Use fullLoop=true only when the user asks to implement/build the feature; continue agent-run QA and stop for production SQL or a genuine external authorization boundary.",
|
|
1250
|
+
"After Feature validation, call launchchair_get_scorecards. Feature Pain, Pattern Saturation, and Feature Opportunity are the validation scorecards; generated direction scores only rank directions inside the idea.",
|
|
1251
|
+
"When comparing multiple Feature ideas, require evidence across ICP complaint themes, delight themes, substitute behaviors, and competitor gaps; then evaluate each with the scorecards, maximize Feature Pain and Feature Opportunity, minimize Pattern Saturation, and prefer ideas that pass every returned recommended threshold.",
|
|
1259
1252
|
"Do not ask for extra confirmation for ordinary LaunchChair MCP calls when the user already requested the workflow and the token permits it.",
|
|
1260
1253
|
"",
|
|
1261
1254
|
].join("\n"),
|
|
@@ -1314,16 +1307,7 @@ async function setup(args) {
|
|
|
1314
1307
|
}
|
|
1315
1308
|
|
|
1316
1309
|
if (details.mcpTarget === "codex") {
|
|
1317
|
-
|
|
1318
|
-
if (token()) {
|
|
1319
|
-
try {
|
|
1320
|
-
const status = await api("/api/agent/v1");
|
|
1321
|
-
featureEnabled = Boolean(status?.capabilities?.featureProjectWorkflow);
|
|
1322
|
-
} catch {
|
|
1323
|
-
// Install the public Product workflow when gated capability discovery is unavailable.
|
|
1324
|
-
}
|
|
1325
|
-
}
|
|
1326
|
-
installLaunchChairSkill({ cwd, featureEnabled });
|
|
1310
|
+
installLaunchChairSkill({ cwd });
|
|
1327
1311
|
}
|
|
1328
1312
|
|
|
1329
1313
|
print("");
|
package/local-bridge.mjs
CHANGED
|
@@ -17,7 +17,7 @@ import process from "node:process";
|
|
|
17
17
|
import { fileURLToPath } from "node:url";
|
|
18
18
|
import { buildRunnerCommand, parseRunnerCommand } from "./runner-command.mjs";
|
|
19
19
|
|
|
20
|
-
const VERSION = "0.4.
|
|
20
|
+
const VERSION = "0.4.9";
|
|
21
21
|
const CLIENT_TYPES = ["codex", "chatgpt", "claude", "claude_code", "other"];
|
|
22
22
|
const AGENT_SCRIPT_DIR = path.dirname(fileURLToPath(import.meta.url));
|
|
23
23
|
const CONFIG_DIR = process.env.LAUNCHCHAIR_CONFIG_DIR?.trim()
|
package/mcp-bridge-server.mjs
CHANGED
|
@@ -19,7 +19,7 @@ import process from "node:process";
|
|
|
19
19
|
import { fileURLToPath } from "node:url";
|
|
20
20
|
import { buildRunnerCommand, parseRunnerCommand } from "./runner-command.mjs";
|
|
21
21
|
|
|
22
|
-
const VERSION = "0.4.
|
|
22
|
+
const VERSION = "0.4.9";
|
|
23
23
|
const SERVER_NAME = "launchchair-agent-mcp";
|
|
24
24
|
const AGENT_SCRIPT_DIR = path.dirname(fileURLToPath(import.meta.url));
|
|
25
25
|
const CONFIG_DIR = process.env.LAUNCHCHAIR_CONFIG_DIR?.trim()
|
package/package.json
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@launchchair/agent",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.9",
|
|
4
|
+
"mcpName": "io.launchchair/agent",
|
|
4
5
|
"description": "LaunchChair Agent CLI, MCP bridge, local bridge, and runners for Codex, Claude Code, ChatGPT, Claude, and Hermes workflows.",
|
|
5
6
|
"type": "module",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/Alphablank1111/rocket_founder.git",
|
|
10
|
+
"directory": "packages/launchchair-agent"
|
|
11
|
+
},
|
|
6
12
|
"bin": {
|
|
7
13
|
"launchchair": "./launchchair-cli.mjs"
|
|
8
14
|
},
|
|
@@ -10,6 +16,7 @@
|
|
|
10
16
|
"AGENTS.md",
|
|
11
17
|
"README.md",
|
|
12
18
|
"LICENSE",
|
|
19
|
+
"server.json",
|
|
13
20
|
"launchchair-cli.mjs",
|
|
14
21
|
"local-bridge.mjs",
|
|
15
22
|
"mcp-bridge-server.mjs",
|
package/server.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
+
"name": "io.launchchair/agent",
|
|
4
|
+
"title": "LaunchChair",
|
|
5
|
+
"description": "Plan, validate, and build products and features with LaunchChair.",
|
|
6
|
+
"version": "0.4.9",
|
|
7
|
+
"websiteUrl": "https://www.launchchair.io/docs/mcp",
|
|
8
|
+
"repository": {
|
|
9
|
+
"url": "https://github.com/Alphablank1111/rocket_founder",
|
|
10
|
+
"source": "github",
|
|
11
|
+
"subfolder": "packages/launchchair-agent"
|
|
12
|
+
},
|
|
13
|
+
"packages": [
|
|
14
|
+
{
|
|
15
|
+
"registryType": "npm",
|
|
16
|
+
"identifier": "@launchchair/agent",
|
|
17
|
+
"version": "0.4.9",
|
|
18
|
+
"runtimeHint": "npx",
|
|
19
|
+
"runtimeArguments": [
|
|
20
|
+
{
|
|
21
|
+
"type": "named",
|
|
22
|
+
"name": "-y"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"packageArguments": [
|
|
26
|
+
{
|
|
27
|
+
"type": "positional",
|
|
28
|
+
"value": "mcp-server"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"transport": {
|
|
32
|
+
"type": "stdio"
|
|
33
|
+
},
|
|
34
|
+
"environmentVariables": [
|
|
35
|
+
{
|
|
36
|
+
"name": "LAUNCHCHAIR_AGENT_TOKEN",
|
|
37
|
+
"description": "LaunchChair Agent API token from Settings > API Access.",
|
|
38
|
+
"isRequired": true,
|
|
39
|
+
"isSecret": true,
|
|
40
|
+
"format": "string"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|