@uxmaltech/collab-cli 0.1.0

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 (109) hide show
  1. package/README.md +227 -0
  2. package/bin/collab +10 -0
  3. package/dist/cli.js +34 -0
  4. package/dist/commands/canon/index.js +16 -0
  5. package/dist/commands/canon/rebuild.js +95 -0
  6. package/dist/commands/compose/generate.js +63 -0
  7. package/dist/commands/compose/index.js +18 -0
  8. package/dist/commands/compose/validate.js +53 -0
  9. package/dist/commands/doctor.js +153 -0
  10. package/dist/commands/index.js +27 -0
  11. package/dist/commands/infra/down.js +23 -0
  12. package/dist/commands/infra/index.js +20 -0
  13. package/dist/commands/infra/shared.js +59 -0
  14. package/dist/commands/infra/status.js +64 -0
  15. package/dist/commands/infra/up.js +29 -0
  16. package/dist/commands/init.js +830 -0
  17. package/dist/commands/mcp/index.js +20 -0
  18. package/dist/commands/mcp/shared.js +57 -0
  19. package/dist/commands/mcp/start.js +45 -0
  20. package/dist/commands/mcp/status.js +62 -0
  21. package/dist/commands/mcp/stop.js +23 -0
  22. package/dist/commands/seed.js +55 -0
  23. package/dist/commands/uninstall.js +36 -0
  24. package/dist/commands/up.js +78 -0
  25. package/dist/commands/update-canons.js +48 -0
  26. package/dist/commands/upgrade.js +54 -0
  27. package/dist/index.js +14 -0
  28. package/dist/lib/ai-client.js +317 -0
  29. package/dist/lib/ansi.js +58 -0
  30. package/dist/lib/canon-index-generator.js +64 -0
  31. package/dist/lib/canon-index-targets.js +68 -0
  32. package/dist/lib/canon-resolver.js +262 -0
  33. package/dist/lib/canon-scaffold.js +57 -0
  34. package/dist/lib/cli-detection.js +149 -0
  35. package/dist/lib/command-context.js +23 -0
  36. package/dist/lib/compose-defaults.js +47 -0
  37. package/dist/lib/compose-env.js +24 -0
  38. package/dist/lib/compose-paths.js +36 -0
  39. package/dist/lib/compose-renderer.js +134 -0
  40. package/dist/lib/compose-validator.js +56 -0
  41. package/dist/lib/config.js +195 -0
  42. package/dist/lib/credentials.js +63 -0
  43. package/dist/lib/docker-checks.js +73 -0
  44. package/dist/lib/docker-compose.js +15 -0
  45. package/dist/lib/docker-status.js +151 -0
  46. package/dist/lib/domain-gen.js +376 -0
  47. package/dist/lib/ecosystem.js +150 -0
  48. package/dist/lib/env-file.js +77 -0
  49. package/dist/lib/errors.js +30 -0
  50. package/dist/lib/executor.js +85 -0
  51. package/dist/lib/github-auth.js +204 -0
  52. package/dist/lib/hash.js +7 -0
  53. package/dist/lib/health-checker.js +140 -0
  54. package/dist/lib/logger.js +87 -0
  55. package/dist/lib/mcp-client.js +88 -0
  56. package/dist/lib/mode.js +36 -0
  57. package/dist/lib/model-listing.js +102 -0
  58. package/dist/lib/model-registry.js +55 -0
  59. package/dist/lib/npm-operations.js +69 -0
  60. package/dist/lib/orchestrator.js +170 -0
  61. package/dist/lib/parsers.js +42 -0
  62. package/dist/lib/port-resolver.js +57 -0
  63. package/dist/lib/preconditions.js +35 -0
  64. package/dist/lib/preflight.js +88 -0
  65. package/dist/lib/process.js +6 -0
  66. package/dist/lib/prompt.js +125 -0
  67. package/dist/lib/providers.js +117 -0
  68. package/dist/lib/repo-analysis-helpers.js +379 -0
  69. package/dist/lib/repo-scanner.js +195 -0
  70. package/dist/lib/service-health.js +79 -0
  71. package/dist/lib/shell.js +49 -0
  72. package/dist/lib/state.js +38 -0
  73. package/dist/lib/update-checker.js +130 -0
  74. package/dist/lib/version.js +27 -0
  75. package/dist/stages/agent-skills-setup.js +301 -0
  76. package/dist/stages/assistant-setup.js +325 -0
  77. package/dist/stages/canon-ingest.js +249 -0
  78. package/dist/stages/canon-rebuild-graph.js +33 -0
  79. package/dist/stages/canon-rebuild-indexes.js +40 -0
  80. package/dist/stages/canon-rebuild-snapshot.js +75 -0
  81. package/dist/stages/canon-rebuild-validate.js +57 -0
  82. package/dist/stages/canon-rebuild-vectors.js +30 -0
  83. package/dist/stages/canon-scaffold.js +15 -0
  84. package/dist/stages/canon-sync.js +49 -0
  85. package/dist/stages/ci-setup.js +56 -0
  86. package/dist/stages/domain-gen.js +363 -0
  87. package/dist/stages/graph-seed.js +26 -0
  88. package/dist/stages/repo-analysis-fileonly.js +111 -0
  89. package/dist/stages/repo-analysis.js +112 -0
  90. package/dist/stages/repo-scaffold.js +110 -0
  91. package/dist/templates/canon/contracts-readme.js +39 -0
  92. package/dist/templates/canon/domain-readme.js +40 -0
  93. package/dist/templates/canon/evolution/changelog.js +53 -0
  94. package/dist/templates/canon/governance/confidence-levels.js +38 -0
  95. package/dist/templates/canon/governance/implementation-process.js +34 -0
  96. package/dist/templates/canon/governance/review-process.js +29 -0
  97. package/dist/templates/canon/governance/schema-versioning.js +25 -0
  98. package/dist/templates/canon/governance/what-enters-the-canon.js +44 -0
  99. package/dist/templates/canon/index.js +28 -0
  100. package/dist/templates/canon/knowledge-readme.js +129 -0
  101. package/dist/templates/canon/system-prompt.js +101 -0
  102. package/dist/templates/ci/architecture-merge.js +29 -0
  103. package/dist/templates/ci/architecture-pr.js +26 -0
  104. package/dist/templates/ci/index.js +7 -0
  105. package/dist/templates/consolidated.js +114 -0
  106. package/dist/templates/infra.js +90 -0
  107. package/dist/templates/mcp.js +32 -0
  108. package/install.sh +455 -0
  109. package/package.json +48 -0
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.architectureMergeTemplate = void 0;
4
+ exports.architectureMergeTemplate = `# Generated by collab-cli — re-ingests architecture docs on merge (indexed mode).
5
+ name: Architecture Ingestion
6
+
7
+ on:
8
+ push:
9
+ branches:
10
+ - main
11
+ - master
12
+ paths:
13
+ - 'docs/architecture/**'
14
+
15
+ jobs:
16
+ ingest:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+
21
+ - uses: actions/setup-node@v4
22
+ with:
23
+ node-version: '22'
24
+
25
+ - name: Ingest architecture docs
26
+ run: npx @uxmaltech/collab-cli seed --architecture
27
+ env:
28
+ MCP_URL: \${{ secrets.MCP_URL }}
29
+ `;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.architecturePrTemplate = void 0;
4
+ exports.architecturePrTemplate = `# Generated by collab-cli — validates architecture docs on PRs.
5
+ name: Architecture Validation
6
+
7
+ on:
8
+ pull_request:
9
+ paths:
10
+ - 'src/**'
11
+ - 'docs/architecture/**'
12
+ - '.collab/**'
13
+
14
+ jobs:
15
+ validate:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - uses: actions/setup-node@v4
21
+ with:
22
+ node-version: '22'
23
+
24
+ - name: Validate architecture
25
+ run: npx @uxmaltech/collab-cli doctor --architecture
26
+ `;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.architectureMergeTemplate = exports.architecturePrTemplate = void 0;
4
+ var architecture_pr_1 = require("./architecture-pr");
5
+ Object.defineProperty(exports, "architecturePrTemplate", { enumerable: true, get: function () { return architecture_pr_1.architecturePrTemplate; } });
6
+ var architecture_merge_1 = require("./architecture-merge");
7
+ Object.defineProperty(exports, "architectureMergeTemplate", { enumerable: true, get: function () { return architecture_merge_1.architectureMergeTemplate; } });
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.consolidatedTemplate = void 0;
4
+ exports.consolidatedTemplate = `services:
5
+ qdrant:
6
+ image: \${QDRANT_IMAGE}
7
+
8
+ ports:
9
+ - "\${QDRANT_PORT}:6333"
10
+ volumes:
11
+ - qdrant:/qdrant/storage
12
+ networks:
13
+ - collab
14
+
15
+ metad0:
16
+ image: "vesoft/nebula-metad:\${NEBULA_VERSION}"
17
+
18
+ ports:
19
+ - "\${NEBULA_METAD_PORT}:9559"
20
+ - "\${NEBULA_METAD_HTTP_PORT}:19559"
21
+ volumes:
22
+ - nebula-metad0:/usr/local/nebula/data/meta
23
+ command:
24
+ - nebula-metad
25
+ - --meta_server_addrs=metad0:9559
26
+ - --local_ip=metad0
27
+ - --ws_ip=metad0
28
+ - --port=9559
29
+ - --ws_http_port=19559
30
+ - --data_path=/usr/local/nebula/data/meta
31
+ networks:
32
+ - collab
33
+
34
+ storaged0:
35
+ image: "vesoft/nebula-storaged:\${NEBULA_VERSION}"
36
+
37
+ depends_on:
38
+ - metad0
39
+ ports:
40
+ - "\${NEBULA_STORAGED_PORT}:9779"
41
+ - "\${NEBULA_STORAGED_HTTP_PORT}:19779"
42
+ volumes:
43
+ - nebula-storaged0:/usr/local/nebula/data/storage
44
+ command:
45
+ - nebula-storaged
46
+ - --meta_server_addrs=metad0:9559
47
+ - --local_ip=storaged0
48
+ - --ws_ip=storaged0
49
+ - --port=9779
50
+ - --ws_http_port=19779
51
+ - --data_path=/usr/local/nebula/data/storage
52
+ networks:
53
+ - collab
54
+
55
+ graphd:
56
+ image: "vesoft/nebula-graphd:\${NEBULA_VERSION}"
57
+
58
+ depends_on:
59
+ - metad0
60
+ - storaged0
61
+ ports:
62
+ - "\${NEBULA_GRAPHD_PORT}:9669"
63
+ - "\${NEBULA_GRAPHD_HTTP_PORT}:19669"
64
+ command:
65
+ - nebula-graphd
66
+ - --meta_server_addrs=metad0:9559
67
+ - --local_ip=graphd
68
+ - --ws_ip=graphd
69
+ - --port=9669
70
+ - --ws_http_port=19669
71
+ - --max_sessions_per_ip_per_user=10000
72
+ networks:
73
+ - collab
74
+
75
+ mcp:
76
+ image: \${MCP_IMAGE}
77
+
78
+ depends_on:
79
+ - qdrant
80
+ - graphd
81
+ ports:
82
+ - "\${MCP_PORT}:\${MCP_CONTAINER_PORT}"
83
+ environment:
84
+ MCP_HOST: "0.0.0.0"
85
+ MCP_ENV: \${MCP_ENV}
86
+ MCP_API_KEYS: \${MCP_API_KEYS}
87
+ MCP_TECHNICAL_SCOPES: \${MCP_TECHNICAL_SCOPES}
88
+ QDRANT_URL: http://qdrant:6333
89
+ NEBULA_ADDR: graphd
90
+ NEBULA_PORT: 9669
91
+ volumes:
92
+ - mcp:/app/.collab
93
+ networks:
94
+ - collab
95
+
96
+ networks:
97
+ collab:
98
+ external: true
99
+ name: \${COLLAB_NETWORK}
100
+
101
+ volumes:
102
+ qdrant:
103
+ external: true
104
+ name: \${QDRANT_VOLUME}
105
+ nebula-metad0:
106
+ external: true
107
+ name: \${NEBULA_METAD_VOLUME}
108
+ nebula-storaged0:
109
+ external: true
110
+ name: \${NEBULA_STORAGED_VOLUME}
111
+ mcp:
112
+ external: true
113
+ name: \${MCP_VOLUME}
114
+ `;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.infraTemplate = void 0;
4
+ exports.infraTemplate = `services:
5
+ qdrant:
6
+ image: \${QDRANT_IMAGE}
7
+
8
+ ports:
9
+ - "\${QDRANT_PORT}:6333"
10
+ volumes:
11
+ - qdrant:/qdrant/storage
12
+ networks:
13
+ - collab
14
+
15
+ metad0:
16
+ image: "vesoft/nebula-metad:\${NEBULA_VERSION}"
17
+
18
+ ports:
19
+ - "\${NEBULA_METAD_PORT}:9559"
20
+ - "\${NEBULA_METAD_HTTP_PORT}:19559"
21
+ volumes:
22
+ - nebula-metad0:/usr/local/nebula/data/meta
23
+ command:
24
+ - nebula-metad
25
+ - --meta_server_addrs=metad0:9559
26
+ - --local_ip=metad0
27
+ - --ws_ip=metad0
28
+ - --port=9559
29
+ - --ws_http_port=19559
30
+ - --data_path=/usr/local/nebula/data/meta
31
+ networks:
32
+ - collab
33
+
34
+ storaged0:
35
+ image: "vesoft/nebula-storaged:\${NEBULA_VERSION}"
36
+
37
+ depends_on:
38
+ - metad0
39
+ ports:
40
+ - "\${NEBULA_STORAGED_PORT}:9779"
41
+ - "\${NEBULA_STORAGED_HTTP_PORT}:19779"
42
+ volumes:
43
+ - nebula-storaged0:/usr/local/nebula/data/storage
44
+ command:
45
+ - nebula-storaged
46
+ - --meta_server_addrs=metad0:9559
47
+ - --local_ip=storaged0
48
+ - --ws_ip=storaged0
49
+ - --port=9779
50
+ - --ws_http_port=19779
51
+ - --data_path=/usr/local/nebula/data/storage
52
+ networks:
53
+ - collab
54
+
55
+ graphd:
56
+ image: "vesoft/nebula-graphd:\${NEBULA_VERSION}"
57
+
58
+ depends_on:
59
+ - metad0
60
+ - storaged0
61
+ ports:
62
+ - "\${NEBULA_GRAPHD_PORT}:9669"
63
+ - "\${NEBULA_GRAPHD_HTTP_PORT}:19669"
64
+ command:
65
+ - nebula-graphd
66
+ - --meta_server_addrs=metad0:9559
67
+ - --local_ip=graphd
68
+ - --ws_ip=graphd
69
+ - --port=9669
70
+ - --ws_http_port=19669
71
+ - --max_sessions_per_ip_per_user=10000
72
+ networks:
73
+ - collab
74
+
75
+ networks:
76
+ collab:
77
+ external: true
78
+ name: \${COLLAB_NETWORK}
79
+
80
+ volumes:
81
+ qdrant:
82
+ external: true
83
+ name: \${QDRANT_VOLUME}
84
+ nebula-metad0:
85
+ external: true
86
+ name: \${NEBULA_METAD_VOLUME}
87
+ nebula-storaged0:
88
+ external: true
89
+ name: \${NEBULA_STORAGED_VOLUME}
90
+ `;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mcpTemplate = void 0;
4
+ exports.mcpTemplate = `services:
5
+ mcp:
6
+ image: \${MCP_IMAGE}
7
+
8
+ ports:
9
+ - "\${MCP_PORT}:\${MCP_CONTAINER_PORT}"
10
+ environment:
11
+ MCP_HOST: "0.0.0.0"
12
+ MCP_ENV: \${MCP_ENV}
13
+ MCP_API_KEYS: \${MCP_API_KEYS}
14
+ MCP_TECHNICAL_SCOPES: \${MCP_TECHNICAL_SCOPES}
15
+ QDRANT_URL: http://qdrant:6333
16
+ NEBULA_ADDR: graphd
17
+ NEBULA_PORT: 9669
18
+ volumes:
19
+ - mcp:/app/.collab
20
+ networks:
21
+ - collab
22
+
23
+ networks:
24
+ collab:
25
+ external: true
26
+ name: \${COLLAB_NETWORK}
27
+
28
+ volumes:
29
+ mcp:
30
+ external: true
31
+ name: \${MCP_VOLUME}
32
+ `;