codingbuddy 0.2.3 → 0.2.5

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
@@ -20,6 +20,7 @@ npx codingbuddy init
20
20
  | Command | Description |
21
21
  |---------|-------------|
22
22
  | `codingbuddy init` | Analyze project and generate configuration |
23
+ | `codingbuddy mcp` | Start MCP server (stdio mode by default) |
23
24
  | `codingbuddy --help` | Show help |
24
25
  | `codingbuddy --version` | Show version |
25
26
 
@@ -63,16 +64,14 @@ Add the following configuration to your Claude Desktop config:
63
64
  ```json
64
65
  {
65
66
  "mcpServers": {
66
- "codingbuddy-rules": {
67
+ "codingbuddy": {
67
68
  "command": "npx",
68
- "args": ["codingbuddy-mcp"]
69
+ "args": ["-y", "codingbuddy", "mcp"]
69
70
  }
70
71
  }
71
72
  }
72
73
  ```
73
74
 
74
- > **Note**: Use `codingbuddy-mcp` for the MCP server. The `codingbuddy` command is for CLI operations like `init`.
75
-
76
75
  ### Option 2: Global Installation
77
76
 
78
77
  ```bash
@@ -84,8 +83,9 @@ Then configure Claude Desktop:
84
83
  ```json
85
84
  {
86
85
  "mcpServers": {
87
- "codingbuddy-rules": {
88
- "command": "codingbuddy-mcp"
86
+ "codingbuddy": {
87
+ "command": "codingbuddy",
88
+ "args": ["mcp"]
89
89
  }
90
90
  }
91
91
  }
@@ -94,7 +94,7 @@ Then configure Claude Desktop:
94
94
  ### Option 3: Local Development (Stdio Mode)
95
95
 
96
96
  ```bash
97
- cd mcp-server
97
+ cd apps/mcp-server
98
98
  yarn install
99
99
  yarn build
100
100
  ```
@@ -102,9 +102,9 @@ yarn build
102
102
  ```json
103
103
  {
104
104
  "mcpServers": {
105
- "codingbuddy-rules": {
105
+ "codingbuddy": {
106
106
  "command": "node",
107
- "args": ["/ABSOLUTE/PATH/TO/codingbuddy/mcp-server/dist/src/main.js"]
107
+ "args": ["/ABSOLUTE/PATH/TO/codingbuddy/apps/mcp-server/dist/src/cli/cli.js", "mcp"]
108
108
  }
109
109
  }
110
110
  }
@@ -118,7 +118,7 @@ Build the Docker image from the **repository root**:
118
118
 
119
119
  ```bash
120
120
  # Run from codingbuddy root
121
- docker build -f mcp-server/Dockerfile -t codingbuddy-rules-mcp .
121
+ docker build -f apps/mcp-server/Dockerfile -t codingbuddy-mcp .
122
122
  ```
123
123
 
124
124
  Run the container:
@@ -127,7 +127,7 @@ Run the container:
127
127
  docker run -p 3000:3000 \
128
128
  -e MCP_TRANSPORT=sse \
129
129
  -e PORT=3000 \
130
- codingbuddy-rules-mcp
130
+ codingbuddy-mcp
131
131
  ```
132
132
 
133
133
  The server will start in SSE mode, exposing:
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import type { InitOptions } from './cli.types';
3
3
  export interface ParsedArgs {
4
- command: 'init' | 'help' | 'version';
4
+ command: 'init' | 'mcp' | 'help' | 'version';
5
5
  options: Partial<InitOptions>;
6
6
  }
7
7
  export declare function parseArgs(args: string[]): ParsedArgs;
@@ -6,6 +6,7 @@ exports.printUsage = printUsage;
6
6
  exports.printVersion = printVersion;
7
7
  exports.main = main;
8
8
  const init_1 = require("./init");
9
+ const main_1 = require("../main");
9
10
  const VERSION = '1.0.0';
10
11
  function parseArgs(args) {
11
12
  const options = {
@@ -20,6 +21,9 @@ function parseArgs(args) {
20
21
  return { command: 'version', options };
21
22
  }
22
23
  const command = args[0];
24
+ if (command === 'mcp') {
25
+ return { command: 'mcp', options };
26
+ }
23
27
  if (command !== 'init') {
24
28
  return { command: 'help', options };
25
29
  }
@@ -49,6 +53,7 @@ CodingBuddy CLI - AI-powered project configuration generator
49
53
 
50
54
  Usage:
51
55
  codingbuddy init [path] [options] Initialize configuration
56
+ codingbuddy mcp Start MCP server (stdio mode)
52
57
  codingbuddy --help Show this help
53
58
  codingbuddy --version Show version
54
59
 
@@ -62,9 +67,12 @@ Examples:
62
67
  codingbuddy init ./my-project Initialize in specific directory
63
68
  codingbuddy init --format json Generate JSON config
64
69
  codingbuddy init --force Overwrite existing config
70
+ codingbuddy mcp Start MCP server for AI assistants
65
71
 
66
72
  Environment:
67
73
  ANTHROPIC_API_KEY API key for AI generation
74
+ MCP_TRANSPORT MCP transport mode: stdio (default) or sse
75
+ PORT HTTP port for SSE mode (default: 3000)
68
76
  `;
69
77
  process.stdout.write(usage + '\n');
70
78
  }
@@ -80,6 +88,9 @@ async function main(args = process.argv.slice(2)) {
80
88
  case 'version':
81
89
  printVersion();
82
90
  break;
91
+ case 'mcp':
92
+ await (0, main_1.bootstrap)();
93
+ break;
83
94
  case 'init': {
84
95
  const result = await (0, init_1.runInit)(options);
85
96
  if (!result.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export declare function bootstrap(): Promise<void>;
package/dist/src/main.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.bootstrap = bootstrap;
4
5
  const core_1 = require("@nestjs/core");
5
6
  const app_module_1 = require("./app.module");
6
7
  const mcp_service_1 = require("./mcp/mcp.service");
@@ -21,5 +22,7 @@ async function bootstrap() {
21
22
  logger.log('MCP Server running in Stdio mode');
22
23
  }
23
24
  }
24
- bootstrap();
25
+ if (require.main === module) {
26
+ bootstrap();
27
+ }
25
28
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;;AACA,uCAA2C;AAC3C,6CAAyC;AACzC,mDAA+C;AAC/C,2CAAwC;AAExC,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC;IAE3D,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAE5B,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;QACtC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QAEN,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAAC,sBAAS,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,wBAAU,CAAC,CAAC;QACvC,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AACD,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;;AAMA,8BAiBC;AAtBD,uCAA2C;AAC3C,6CAAyC;AACzC,mDAA+C;AAC/C,2CAAwC;AAEjC,KAAK,UAAU,SAAS;IAC7B,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC;IAE3D,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAE5B,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;QACtC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QAEN,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAAC,sBAAS,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,wBAAU,CAAC,CAAC;QACvC,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAGD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,CAAC;AACd,CAAC"}