@takemo101/mikan 0.0.8 → 0.0.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.
Files changed (3) hide show
  1. package/README.md +3 -1
  2. package/dist/bin.js +68 -5
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -57,13 +57,15 @@ GitHub Mirror is one-way publication from local Markdown Issues to GitHub Issues
57
57
 
58
58
  mikan wires into AI coding agents two independent ways. Neither models agents or adds a runtime: mikan stays **stdio MCP only** — no HTTP server, port, auth, scheduler, or workflow engine.
59
59
 
60
- - `mikan mcp add --agent <agent>` registers the stdio MCP server in the agent's MCP config. Agents: `pi`, `antigravity`, `jcode`, `claude-code`, `opencode`, `codex`.
60
+ - `mikan mcp add --agent <agent>` registers the stdio MCP server in the agent's MCP config. Agents: `pi`, `antigravity`, `jcode`, `claude-code`, `opencode`, `codex`, `copilot-vscode`, `copilot-cli`.
61
61
  - `mikan skills add --agent <agent>` installs a small mikan `SKILL.md` that teaches the agent to drive the board through the MCP tools, including one-way GitHub Mirror publication tools. Agents: `claude-code`, `opencode`, `codex`. This is **separate** from MCP registration — installing skills never changes MCP config.
62
62
 
63
63
  ```sh
64
64
  mikan mcp add --agent claude-code
65
65
  mikan mcp add --agent opencode --no-global
66
66
  mikan mcp add --agent codex # global only
67
+ mikan mcp add --agent copilot-vscode --no-global # VS Code workspace only
68
+ mikan mcp add --agent copilot-cli # global only
67
69
  mikan skills add --agent claude-code
68
70
  mikan mcp llms # incur-backed discovery manifest
69
71
  ```
package/dist/bin.js CHANGED
@@ -100489,6 +100489,7 @@ function validateStatus(config2, status) {
100489
100489
  }
100490
100490
  function validateLabels(config2, labels) {
100491
100491
  const known = new Set(config2.labels.map((label) => label.id));
100492
+ const seen = new Set;
100492
100493
  const parsed = [];
100493
100494
  for (const label of labels) {
100494
100495
  if (!known.has(label)) {
@@ -100504,6 +100505,13 @@ function validateLabels(config2, labels) {
100504
100505
  error: { kind: "unknown_label", message: labelId.error.message }
100505
100506
  };
100506
100507
  }
100508
+ if (seen.has(label)) {
100509
+ return {
100510
+ ok: false,
100511
+ error: { kind: "unknown_label", message: `Duplicate Label: ${label}` }
100512
+ };
100513
+ }
100514
+ seen.add(label);
100507
100515
  parsed.push(labelId.value);
100508
100516
  }
100509
100517
  return { ok: true, value: parsed };
@@ -106953,6 +106961,55 @@ var codexInstaller = {
106953
106961
  install: installCodexMcpServer
106954
106962
  };
106955
106963
 
106964
+ // ../mcp/src/installers/copilot-cli.ts
106965
+ var copilotCliAdapter = {
106966
+ agent: "copilot-cli",
106967
+ serversKey: "mcpServers",
106968
+ resolveTarget: (options) => {
106969
+ if (!isGlobalScope(options)) {
106970
+ throw new Error("GitHub Copilot CLI MCP configuration is global-only; it has no " + "verified workspace-local scope. Re-run `mikan mcp add --agent " + "copilot-cli` without --no-global to register the server in " + "~/.copilot/mcp-config.json.");
106971
+ }
106972
+ return {
106973
+ path: homePath(options, ".copilot", "mcp-config.json"),
106974
+ scope: "global"
106975
+ };
106976
+ },
106977
+ buildEntry: (spec) => ({
106978
+ type: "local",
106979
+ command: spec.command,
106980
+ args: spec.args,
106981
+ env: spec.env,
106982
+ tools: ["*"]
106983
+ })
106984
+ };
106985
+ var copilotCliInstaller = createInstaller(copilotCliAdapter);
106986
+
106987
+ // ../mcp/src/installers/copilot-vscode.ts
106988
+ var copilotVscodeAdapter = {
106989
+ agent: "copilot-vscode",
106990
+ serversKey: "servers",
106991
+ resolveTarget: (options) => {
106992
+ if (isGlobalScope(options)) {
106993
+ throw new Error("VS Code user-profile MCP configuration path is not verified; " + "re-run `mikan mcp add --agent copilot-vscode --no-global` " + "to register mikan in .vscode/mcp.json for this workspace.");
106994
+ }
106995
+ return {
106996
+ path: workspacePath(options, ".vscode", "mcp.json"),
106997
+ scope: "workspace"
106998
+ };
106999
+ },
107000
+ buildEntry: (spec) => {
107001
+ const entry = {
107002
+ type: "stdio",
107003
+ command: spec.command,
107004
+ args: spec.args
107005
+ };
107006
+ if (Object.keys(spec.env).length > 0)
107007
+ entry.env = spec.env;
107008
+ return entry;
107009
+ }
107010
+ };
107011
+ var copilotVscodeInstaller = createInstaller(copilotVscodeAdapter);
107012
+
106956
107013
  // ../mcp/src/installers/jcode.ts
106957
107014
  var jcodeAdapter = {
106958
107015
  agent: "jcode",
@@ -107009,7 +107066,9 @@ var mcpAgentInstallers = [
107009
107066
  jcodeInstaller,
107010
107067
  claudeCodeInstaller,
107011
107068
  opencodeInstaller,
107012
- codexInstaller
107069
+ codexInstaller,
107070
+ copilotVscodeInstaller,
107071
+ copilotCliInstaller
107013
107072
  ];
107014
107073
  function installMcpServerForAgent(agent, options = {}) {
107015
107074
  const installer = mcpAgentInstallers.find((entry) => entry.agent === agent);
@@ -107402,7 +107461,7 @@ var import_react20 = __toESM(require_react(), 1);
107402
107461
  // package.json
107403
107462
  var package_default = {
107404
107463
  name: "@takemo101/mikan",
107405
- version: "0.0.8",
107464
+ version: "0.0.9",
107406
107465
  private: false,
107407
107466
  type: "module",
107408
107467
  bin: {
@@ -109543,7 +109602,8 @@ function readCurrentSnapshot(loaded) {
109543
109602
  function writeSnapshot(path5, snapshot) {
109544
109603
  mkdirSync7(dirname8(path5), { recursive: true });
109545
109604
  const tmp = `${path5}.${process.pid}.${Date.now()}.tmp`;
109546
- writeFileSync7(tmp, JSON.stringify(snapshot, null, 2));
109605
+ writeFileSync7(tmp, `${JSON.stringify(snapshot, null, 2)}
109606
+ `);
109547
109607
  renameSync4(tmp, path5);
109548
109608
  }
109549
109609
  function watcherSnapshotPath(projectRoot) {
@@ -110036,13 +110096,14 @@ Usage:
110036
110096
  mikan mcp llms [--full]
110037
110097
 
110038
110098
  Options:
110039
- -a, --agent <agent> Agent to configure: pi, antigravity, jcode, claude-code, opencode, codex
110099
+ -a, --agent <agent> Agent to configure: pi, antigravity, jcode, claude-code, opencode, codex, copilot-vscode, copilot-cli
110040
110100
  --no-global Write workspace-local config instead of global config
110041
110101
  --full With llms: print the full incur manifest
110042
110102
  -h, --help Show this help
110043
110103
 
110044
110104
  Notes:
110045
- codex registers in global ~/.codex/config.toml only; --no-global is rejected.
110105
+ codex and copilot-cli register globally only; --no-global is rejected.
110106
+ copilot-vscode writes workspace .vscode/mcp.json only; use --no-global.
110046
110107
  Use mikan mcp add for native per-agent registration. Use mikan mcp llms for
110047
110108
  incur-backed discovery: it prints a manifest for agents that read incur
110048
110109
  manifests directly and never installs anything. Passing --agent to llms is
@@ -110055,6 +110116,8 @@ Examples:
110055
110116
  mikan mcp add --agent claude-code
110056
110117
  mikan mcp add --agent opencode --no-global
110057
110118
  mikan mcp add --agent codex
110119
+ mikan mcp add --agent copilot-vscode --no-global
110120
+ mikan mcp add --agent copilot-cli
110058
110121
  mikan mcp llms
110059
110122
  mikan mcp llms --full
110060
110123
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takemo101/mikan",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {