@ksm0709/context 0.0.22 → 0.0.23
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 +4 -0
- package/dist/cli/index.js +7 -116
- package/dist/index.js +59 -1238
- package/dist/mcp.js +33061 -0
- package/dist/omx/index.mjs +50 -359
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -8,6 +8,10 @@ Context plugin for Bun
|
|
|
8
8
|
|
|
9
9
|
<!-- Example usage code goes here -->
|
|
10
10
|
|
|
11
|
+
## MCP Server
|
|
12
|
+
|
|
13
|
+
This plugin automatically registers an MCP (Model Context Protocol) server named `context-mcp` with OpenCode. The server provides tools for searching knowledge base files (`.md` files in `docs/` and `.context/` directories).
|
|
14
|
+
|
|
11
15
|
## OMX Support
|
|
12
16
|
|
|
13
17
|
This plugin supports OMX (OpenCode Managed eXtension). See [[docs/omx-setup.md]] for setup instructions.
|
package/dist/cli/index.js
CHANGED
|
@@ -10,29 +10,6 @@ import { homedir } from "os";
|
|
|
10
10
|
import { existsSync as existsSync2, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
11
11
|
import { join as join2 } from "path";
|
|
12
12
|
|
|
13
|
-
// src/constants.ts
|
|
14
|
-
var DEFAULTS = {
|
|
15
|
-
configPath: ".context/config.jsonc",
|
|
16
|
-
promptDir: ".context/prompts",
|
|
17
|
-
turnStartFile: "turn-start.md",
|
|
18
|
-
turnEndFile: "turn-end.md",
|
|
19
|
-
knowledgeSources: ["AGENTS.md"],
|
|
20
|
-
templateDir: ".context/templates",
|
|
21
|
-
indexFilename: "INDEX.md",
|
|
22
|
-
maxDomainDepth: 2,
|
|
23
|
-
knowledgeDir: "docs",
|
|
24
|
-
guidesDir: ".context/guides",
|
|
25
|
-
workCompleteFile: ".context/.work-complete"
|
|
26
|
-
};
|
|
27
|
-
var LIMITS = {
|
|
28
|
-
maxPromptFileSize: 64 * 1024,
|
|
29
|
-
maxIndexEntries: 100,
|
|
30
|
-
maxTotalInjectionSize: 128 * 1024,
|
|
31
|
-
maxScanDepth: 3,
|
|
32
|
-
maxSummaryLength: 100,
|
|
33
|
-
maxIndexFileSize: 32 * 1024
|
|
34
|
-
};
|
|
35
|
-
|
|
36
13
|
// src/lib/context-dir.ts
|
|
37
14
|
import { existsSync } from "fs";
|
|
38
15
|
import { join } from "path";
|
|
@@ -50,7 +27,7 @@ function resolveContextDir(projectDir) {
|
|
|
50
27
|
// package.json
|
|
51
28
|
var package_default = {
|
|
52
29
|
name: "@ksm0709/context",
|
|
53
|
-
version: "0.0.
|
|
30
|
+
version: "0.0.23",
|
|
54
31
|
author: {
|
|
55
32
|
name: "TaehoKang",
|
|
56
33
|
email: "ksm07091@gmail.com"
|
|
@@ -80,10 +57,10 @@ var package_default = {
|
|
|
80
57
|
access: "public"
|
|
81
58
|
},
|
|
82
59
|
scripts: {
|
|
83
|
-
build: "bun build ./src/index.ts --outdir dist --target bun && bun build ./src/cli/index.ts --outdir dist/cli --target bun && bun build ./src/omx/index.ts --outdir dist/omx --target node --format esm --external jsonc-parser && mv dist/omx/index.js dist/omx/index.mjs",
|
|
60
|
+
build: "bun build ./src/index.ts --outdir dist --target bun && bun build ./src/mcp.ts --outdir dist --target bun && bun build ./src/cli/index.ts --outdir dist/cli --target bun && bun build ./src/omx/index.ts --outdir dist/omx --target node --format esm --external jsonc-parser && mv dist/omx/index.js dist/omx/index.mjs",
|
|
84
61
|
test: "vitest run",
|
|
85
62
|
lint: "eslint src --ext .ts",
|
|
86
|
-
prepublishOnly: "bun build ./src/index.ts --outdir dist --target bun && bun build ./src/cli/index.ts --outdir dist/cli --target bun && bun build ./src/omx/index.ts --outdir dist/omx --target node --format esm --external jsonc-parser && mv dist/omx/index.js dist/omx/index.mjs"
|
|
63
|
+
prepublishOnly: "bun build ./src/index.ts --outdir dist --target bun && bun build ./src/mcp.ts --outdir dist --target bun && bun build ./src/cli/index.ts --outdir dist/cli --target bun && bun build ./src/omx/index.ts --outdir dist/omx --target node --format esm --external jsonc-parser && mv dist/omx/index.js dist/omx/index.mjs"
|
|
87
64
|
},
|
|
88
65
|
files: [
|
|
89
66
|
"dist"
|
|
@@ -92,7 +69,8 @@ var package_default = {
|
|
|
92
69
|
"@opencode-ai/plugin": ">=1.0.0"
|
|
93
70
|
},
|
|
94
71
|
dependencies: {
|
|
95
|
-
"@ksm0709/context": "^0.0.
|
|
72
|
+
"@ksm0709/context": "^0.0.22",
|
|
73
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
96
74
|
"jsonc-parser": "^3.0.0"
|
|
97
75
|
},
|
|
98
76
|
devDependencies: {
|
|
@@ -117,10 +95,6 @@ var PLUGIN_VERSION = package_default.version;
|
|
|
117
95
|
var DEFAULT_CONFIG = `{
|
|
118
96
|
// Context Plugin Configuration
|
|
119
97
|
// See: https://github.com/ksm0709/context
|
|
120
|
-
"prompts": {
|
|
121
|
-
"turnStart": "prompts/turn-start.md",
|
|
122
|
-
"turnEnd": "prompts/turn-end.md"
|
|
123
|
-
},
|
|
124
98
|
"knowledge": {
|
|
125
99
|
"dir": ".context/memory",
|
|
126
100
|
"sources": ["AGENTS.md"]
|
|
@@ -132,53 +106,6 @@ var DEFAULT_CONFIG = `{
|
|
|
132
106
|
}
|
|
133
107
|
}
|
|
134
108
|
}`;
|
|
135
|
-
var DEFAULT_TURN_START = `## Knowledge Context
|
|
136
|
-
|
|
137
|
-
\uC774 \uD504\uB85C\uC81D\uD2B8\uB294 **\uC81C\uD154\uCE74\uC2A4\uD150(Zettelkasten)** \uBC29\uC2DD\uC73C\uB85C \uC9C0\uC2DD\uC744 \uAD00\uB9AC\uD569\uB2C8\uB2E4.
|
|
138
|
-
\uC138\uC158 \uAC04 \uCEE8\uD14D\uC2A4\uD2B8\uB97C \uBCF4\uC874\uD558\uC5EC, \uC774\uC804 \uC138\uC158\uC758 \uACB0\uC815/\uD328\uD134/\uC2E4\uC218\uAC00 \uB2E4\uC74C \uC138\uC158\uC5D0\uC11C \uC7AC\uD65C\uC6A9\uB429\uB2C8\uB2E4.
|
|
139
|
-
|
|
140
|
-
### \uC81C\uD154\uCE74\uC2A4\uD150 \uD575\uC2EC \uC6D0\uCE59
|
|
141
|
-
|
|
142
|
-
1. **\uC6D0\uC790\uC131** -- \uD558\uB098\uC758 \uB178\uD2B8 = \uD558\uB098\uC758 \uC8FC\uC81C. \uC5EC\uB7EC \uC8FC\uC81C\uB97C \uC11E\uC9C0 \uB9C8\uC138\uC694.
|
|
143
|
-
2. **\uC5F0\uACB0** -- \uBAA8\uB4E0 \uB178\uD2B8\uB294 [[wikilink]]\uB85C \uAD00\uB828 \uB178\uD2B8\uC5D0 \uC5F0\uACB0. \uACE0\uB9BD\uB41C \uB178\uD2B8\uB294 \uBC1C\uACAC\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
|
|
144
|
-
3. **\uC790\uAE30 \uC5B8\uC5B4** -- \uBCF5\uC0AC-\uBD99\uC5EC\uB123\uAE30\uAC00 \uC544\uB2CC, \uD575\uC2EC\uC744 \uC774\uD574\uD558\uACE0 \uAC04\uACB0\uD558\uAC8C \uC11C\uC220\uD558\uC138\uC694.
|
|
145
|
-
|
|
146
|
-
### \uC791\uC5C5 \uC804 \uD544\uC218
|
|
147
|
-
|
|
148
|
-
- **\uB370\uC77C\uB9AC \uB178\uD2B8 \uD655\uC778**: \uAC00\uC7A5 \uCD5C\uADFC\uC758 \uB370\uC77C\uB9AC \uB178\uD2B8(\`{{knowledgeDir}}/daily/YYYY-MM-DD.md\`)\uB97C \uC77D\uACE0 \uC774\uC804 \uC138\uC158\uC758 \uCEE8\uD14D\uC2A4\uD2B8\uC640 \uBBF8\uD574\uACB0 \uC774\uC288\uB97C \uD30C\uC545\uD558\uC138\uC694
|
|
149
|
-
- **\uC791\uC5C5 \uC758\uB3C4 \uC120\uC5B8**: \uC791\uC5C5 \uC2DC\uC791 \uC804, \uD604\uC7AC \uC138\uC158\uC758 \uBAA9\uD45C\uC640 \uC791\uC5C5 \uC758\uB3C4\uB97C \uBA85\uD655\uD788 \uD30C\uC545\uD558\uACE0 \uC120\uC5B8\uD558\uC138\uC694 (\uCD94\uD6C4 \uC791\uC5C5 \uACBD\uB85C \uAC80\uC99D \uC2DC \uAE30\uC900\uC774 \uB429\uB2C8\uB2E4)
|
|
150
|
-
- \uBA54\uC778 \uC5D0\uC774\uC804\uD2B8\uAC00 \uC544\uB798 **Available Knowledge** \uBAA9\uB85D\uC5D0\uC11C \uD604\uC7AC \uC791\uC5C5\uACFC \uAD00\uB828\uB41C \uBB38\uC11C\uB97C **\uC9C1\uC811 \uBA3C\uC800** \uC77D\uC73C\uC138\uC694
|
|
151
|
-
- \uB3C4\uBA54\uC778 \uD3F4\uB354 \uAD6C\uC870\uAC00 \uC788\uB2E4\uBA74 INDEX.md\uC758 \uC694\uC57D\uC744 \uCC38\uACE0\uD558\uC5EC \uD544\uC694\uD55C \uB178\uD2B8\uB9CC \uC120\uD0DD\uC801\uC73C\uB85C \uC77D\uC73C\uC138\uC694
|
|
152
|
-
- \uBB38\uC11C \uB0B4 [[\uB9C1\uD06C]]\uB97C \uB530\uB77C\uAC00\uBA70 \uAD00\uB828 \uB178\uD2B8\uB97C \uD0D0\uC0C9\uD558\uC138\uC694 -- \uB9C1\uD06C\uB97C \uB193\uCE58\uBA74 \uC911\uC694\uD55C \uB9E5\uB77D\uC744 \uC783\uC2B5\uB2C8\uB2E4
|
|
153
|
-
- \uC9C0\uC2DD \uD30C\uC77C\uC5D0 \uAE30\uB85D\uB41C \uC544\uD0A4\uD14D\uCC98 \uACB0\uC815, \uD328\uD134, \uC81C\uC57D\uC0AC\uD56D\uC744 \uBC18\uB4DC\uC2DC \uB530\uB974\uC138\uC694
|
|
154
|
-
- \uC77D\uC740 \uC9C0\uC2DD\uC744 \uD604\uC7AC \uC791\uC5C5\uC758 \uC124\uACC4, \uAD6C\uD604, \uAC80\uC99D\uC5D0 \uC9C1\uC811 \uBC18\uC601\uD558\uC138\uC694
|
|
155
|
-
|
|
156
|
-
### \uAC1C\uBC1C \uC6D0\uCE59
|
|
157
|
-
|
|
158
|
-
- **TDD** (Test-Driven Development): \uD14C\uC2A4\uD2B8\uB97C \uBA3C\uC800 \uC791\uC131\uD558\uACE0(RED), \uAD6C\uD604\uD558\uC5EC \uD1B5\uACFC\uC2DC\uD0A8 \uB4A4(GREEN), \uB9AC\uD329\uD1A0\uB9C1\uD558\uC138\uC694
|
|
159
|
-
- **DDD** (Domain-Driven Design): \uB3C4\uBA54\uC778 \uAC1C\uB150\uC744 \uCF54\uB4DC \uAD6C\uC870\uC5D0 \uBC18\uC601\uD558\uC138\uC694. \uD0C0\uC785\uACFC \uBAA8\uB4C8\uC740 \uBE44\uC988\uB2C8\uC2A4 \uB3C4\uBA54\uC778\uC744 \uAE30\uC900\uC73C\uB85C \uBD84\uB9AC\uD558\uC138\uC694
|
|
160
|
-
- **\uD14C\uC2A4\uD2B8 \uCEE4\uBC84\uB9AC\uC9C0**: \uC0C8\uB85C \uC791\uC131\uD558\uAC70\uB098 \uBCC0\uACBD\uD55C \uCF54\uB4DC\uB294 \uD14C\uC2A4\uD2B8 \uCEE4\uBC84\uB9AC\uC9C0 80% \uC774\uC0C1\uC744 \uBAA9\uD45C\uB85C \uD558\uC138\uC694. \uAD6C\uD604 \uC804\uC5D0 \uD14C\uC2A4\uD2B8\uBD80\uD130 \uC791\uC131\uD558\uBA74 \uC790\uC5F0\uC2A4\uB7FD\uAC8C \uB2EC\uC131\uB429\uB2C8\uB2E4
|
|
161
|
-
|
|
162
|
-
### \uC6B0\uC120\uC21C\uC704
|
|
163
|
-
|
|
164
|
-
- AGENTS.md\uC758 \uC9C0\uC2DC\uC0AC\uD56D\uC774 \uD56D\uC0C1 \uCD5C\uC6B0\uC120
|
|
165
|
-
- \uC9C0\uC2DD \uB178\uD2B8\uC758 \uACB0\uC815\uC0AC\uD56D > \uC77C\uBC18\uC801 \uAD00\uD589
|
|
166
|
-
- \uC9C0\uC2DD \uB178\uD2B8\uC5D0 \uC5C6\uB294 \uC0C8\uB85C\uC6B4 \uACB0\uC815\uC774\uB098 \uBC18\uBCF5 \uAC00\uCE58\uAC00 \uC788\uB294 \uBC1C\uACAC\uC740 \uC791\uC5C5 \uBA54\uBAA8\uB098 \uC9C0\uC2DD \uB178\uD2B8 \uD6C4\uBCF4\uB85C \uAE30\uB85D\uD558\uC138\uC694
|
|
167
|
-
`;
|
|
168
|
-
var DEFAULT_TURN_END = `## TURN END \uC791\uC5C5 \uC9C0\uCE68
|
|
169
|
-
\uC774 \uC9C0\uCE68\uC740 \uC5D0\uC774\uC804\uD2B8\uB97C \uC704\uD55C \uAC83\uC774\uBA70, \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uC9C1\uC811\uC801\uC73C\uB85C \uB178\uCD9C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
|
|
170
|
-
\uC544\uB798 \uBA54\uB274 \uC911 \uD558\uB098\uB97C \uC120\uD0DD\uD574 \uC9C4\uD589 \uC0C1\uD669\uC5D0 \uB9DE\uAC8C \uC218\uD589\uD558\uC138\uC694.
|
|
171
|
-
**\uBC18\uB4DC\uC2DC \uB9C1\uD06C\uB41C \uAC00\uC774\uB4DC\uB97C \uCC38\uACE0\uD558\uC5EC \uC815\uD655\uD788 \uC218\uD589\uD574\uC57C \uD569\uB2C8\uB2E4.**
|
|
172
|
-
|
|
173
|
-
1. **\uACC4\uC18D \uC791\uC5C5**: \uAE30\uC874 \uC791\uC5C5\uC774 \uC644\uB8CC\uB418\uC9C0 \uC54A\uC558\uACE0 \uC544\uC9C1 \uC544\uB798 \uC561\uC158\uC744 \uCDE8\uD560 \uB2E8\uACC4\uAC00 \uC544\uB2C8\uB77C\uBA74 \uC791\uC5C5 \uC18D\uAC1C.
|
|
174
|
-
2. **\uB370\uC77C\uB9AC \uB178\uD2B8 \uAE30\uB85D**: [.context/guides/daily-note-guide.md] \uB370\uC77C\uB9AC \uB178\uD2B8\uC5D0 \uC911\uC694\uD55C \uCEE8\uD14D\uC2A4\uD2B8\uB97C \uAE30\uB85D\uD558\uC5EC \uB2E4\uC74C \uC138\uC158\uC774\uB098 \uC5D0\uC774\uC804\uD2B8 \uD300\uC774 \uCC38\uACE0\uD560 \uC218 \uC788\uB3C4\uB85D \uD558\uC138\uC694. \uAE30\uC874 \uB0B4\uC6A9 \uC218\uC815\uC740 \uBD88\uAC00\uD558\uBA70, \uC0C8\uB85C\uC6B4 \uBA54\uBAA8\uB97C \uCD94\uAC00 \uD558\uB294\uAC83\uB9CC \uAC00\uB2A5\uD569\uB2C8\uB2E4. \uAC04\uB7B5\uD55C \uD55C \uB450 \uBB38\uC7A5\uC73C\uB85C \uC791\uC131\uD558\uC5EC \uD575\uC2EC \uCEE8\uD14D\uC2A4\uD2B8\uAC00 \uBA85\uD655\uD788 \uC804\uB2EC\uB418\uB3C4\uB85D \uD558\uC138\uC694.
|
|
175
|
-
3. **\uC9C0\uC2DD \uB178\uD2B8 \uC791\uC131**: [.context/guides/note-guide.md] \uC791\uC5C5\uAE30\uC5B5(\uB370\uC77C\uB9AC\uB178\uD2B8, \uC138\uC158 \uCEE8\uD14D\uC2A4\uD2B8)\uBCF4\uB2E4 \uC624\uB798 \uAE30\uC5B5\uB418\uC5B4\uC57C \uD558\uB294 \uC911\uC694\uD55C \uACB0\uC815, \uD328\uD134, \uC2E4\uC218, \uBC1C\uACAC\uC740 \uC9C0\uC2DD \uB178\uD2B8\uB85C \uAE30\uB85D\uD558\uC5EC \uD504\uB85C\uC81D\uD2B8\uC758 \uC9D1\uB2E8 \uC9C0\uC2DD\uC73C\uB85C \uB0A8\uAE30\uC138\uC694.
|
|
176
|
-
4. **\uB178\uD2B8/\uC2A4\uD0AC \uAC80\uC0C9 \uBC0F \uC77D\uAE30**: [.context/guides/search-guide.md] \uC5B4\uB824\uC6C0\uC5D0 \uCC98\uD588\uB2E4\uBA74 \uD604\uC7AC \uC9C4\uD589 \uC0C1\uD669\uC5D0 \uD544\uC694\uD55C \uC9C0\uC2DD\uC774\uB098 \uC2A4\uD0AC\uC774 \uC788\uB294\uC9C0 \uD655\uC778\uD558\uACE0, \uAD00\uB828 \uB178\uD2B8\uB97C \uC77D\uC5B4\uBCF4\uC138\uC694. \uC0C8\uB85C\uC6B4 \uC544\uC774\uB514\uC5B4\uB098 \uD574\uACB0\uCC45\uC774 \uB5A0\uC624\uB97C \uC218 \uC788\uC2B5\uB2C8\uB2E4.
|
|
177
|
-
5. **\uC791\uC5C5 \uACBD\uB85C \uB9AC\uBDF0**: [.context/guides/scope-review.md] \uC0AC\uC6A9\uC790\uAC00 \uC758\uB3C4\uD55C \uC791\uC5C5 \uBC94\uC704\uB97C \uBC97\uC5B4\uB098\uC9C0 \uC54A\uC558\uB294\uC9C0, \uC791\uC5C5\uC774 \uB108\uBB34 \uD06C\uAC70\uB098 \uBCF5\uC7A1\uD574\uC9C0\uC9C0\uB294 \uC54A\uC558\uB294\uC9C0 \uAC80\uD1A0\uD558\uC138\uC694.
|
|
178
|
-
6. **\uCCB4\uD06C\uD3EC\uC778\uD2B8 \uCEE4\uBC0B**: [.context/guides/commit-guide.md] \uC791\uC5C5\uC774 \uAE38\uC5B4\uC9C8 \uACBD\uC6B0, \uC911\uC694\uD55C \uB2E8\uACC4\uB9C8\uB2E4 \uCCB4\uD06C\uD3EC\uC778\uD2B8 \uCEE4\uBC0B\uC744 \uD558\uC5EC \uC791\uC5C5 \uB0B4\uC6A9\uC744 \uC548\uC804\uD558\uAC8C \uC800\uC7A5\uD558\uACE0, \uD544\uC694 \uC2DC \uC774\uC804 \uC0C1\uD0DC\uB85C \uB3CC\uC544\uAC08 \uC218 \uC788\uB3C4\uB85D \uD558\uC138\uC694.
|
|
179
|
-
7. **\uD004\uB9AC\uD2F0 \uAC80\uC99D**: [.context/guides/quality-check.md] **\uC791\uC5C5 \uC644\uB8CC \uC804\uC5D0 \uBC18\uB4DC\uC2DC \uC218\uD589\uD558\uC138\uC694**. \uCF54\uB4DC \uB9B0\uD2B8, \uD3EC\uB9F7\uD130, \uD14C\uC2A4\uD2B8, \uBE4C\uB4DC, \uCF54\uB4DC\uB9AC\uBDF0\uB97C \uC2E4\uD589\uD558\uC5EC \uC791\uC5C5 \uACB0\uACFC\uBB3C\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uD488\uC9C8 \uAE30\uC900\uC744 \uCDA9\uC871\uD558\uB294\uC9C0 \uD655\uC778\uD558\uC138\uC694.
|
|
180
|
-
8. **\uC791\uC5C5 \uC644\uB8CC**: [.context/guides/complete-guide.md] \uBAA8\uB4E0 \uC791\uC5C5\uC774 \uC644\uB8CC\uB418\uC5C8\uB2E4\uBA74, \uC774 \uAC00\uC774\uB4DC\uB97C \uB530\uB974\uC138\uC694. \uC774 \uC791\uC5C5 \uC9C0\uCE68\uC774 \uB354\uC774\uC0C1 \uD2B8\uB9AC\uAC70\uB418\uC9C0 \uC54A\uC744 \uAC83\uC785\uB2C8\uB2E4.
|
|
181
|
-
`;
|
|
182
109
|
var DEFAULT_ADR_TEMPLATE = `# ADR-NNN: [\uC81C\uBAA9]
|
|
183
110
|
|
|
184
111
|
## \uC0C1\uD0DC
|
|
@@ -471,15 +398,12 @@ var TEMPLATE_FILES = {
|
|
|
471
398
|
};
|
|
472
399
|
function updateScaffold(projectDir) {
|
|
473
400
|
const contextDir = join2(projectDir, resolveContextDir(projectDir));
|
|
474
|
-
mkdirSync(join2(contextDir, "prompts"), { recursive: true });
|
|
475
401
|
mkdirSync(join2(contextDir, "templates"), { recursive: true });
|
|
476
402
|
mkdirSync(join2(contextDir, "guides"), { recursive: true });
|
|
477
403
|
const templateEntries = Object.fromEntries(Object.entries(TEMPLATE_FILES).map(([filename, content]) => [`templates/${filename}`, content]));
|
|
478
404
|
const guideEntries = Object.fromEntries(Object.entries(GUIDE_FILES).map(([filename, content]) => [`guides/${filename}`, content]));
|
|
479
405
|
const templates = {
|
|
480
406
|
"config.jsonc": DEFAULT_CONFIG,
|
|
481
|
-
[`prompts/${DEFAULTS.turnStartFile}`]: DEFAULT_TURN_START,
|
|
482
|
-
[`prompts/${DEFAULTS.turnEndFile}`]: DEFAULT_TURN_END,
|
|
483
407
|
...templateEntries,
|
|
484
408
|
...guideEntries
|
|
485
409
|
};
|
|
@@ -500,26 +424,6 @@ function updateScaffold(projectDir) {
|
|
|
500
424
|
function writeVersion(contextDir, version) {
|
|
501
425
|
writeFileSync(join2(contextDir, ".version"), version, "utf-8");
|
|
502
426
|
}
|
|
503
|
-
function updatePrompts(projectDir) {
|
|
504
|
-
const contextDir = join2(projectDir, resolveContextDir(projectDir));
|
|
505
|
-
mkdirSync(join2(contextDir, "prompts"), { recursive: true });
|
|
506
|
-
const prompts = {
|
|
507
|
-
[`prompts/${DEFAULTS.turnStartFile}`]: DEFAULT_TURN_START,
|
|
508
|
-
[`prompts/${DEFAULTS.turnEndFile}`]: DEFAULT_TURN_END
|
|
509
|
-
};
|
|
510
|
-
const updated = [];
|
|
511
|
-
for (const [path, content] of Object.entries(prompts)) {
|
|
512
|
-
const filePath = join2(contextDir, path);
|
|
513
|
-
try {
|
|
514
|
-
const existing = readFileSync(filePath, "utf-8");
|
|
515
|
-
if (existing === content)
|
|
516
|
-
continue;
|
|
517
|
-
} catch {}
|
|
518
|
-
writeFileSync(filePath, content, "utf-8");
|
|
519
|
-
updated.push(path);
|
|
520
|
-
}
|
|
521
|
-
return updated;
|
|
522
|
-
}
|
|
523
427
|
|
|
524
428
|
// src/cli/commands/update.ts
|
|
525
429
|
var KNOWN_SUBCOMMANDS = ["all", "prompt", "plugin"];
|
|
@@ -531,7 +435,8 @@ function runUpdate(args) {
|
|
|
531
435
|
runUpdateAll(resolve(rest[0] ?? process.cwd()));
|
|
532
436
|
break;
|
|
533
437
|
case "prompt":
|
|
534
|
-
|
|
438
|
+
process.stdout.write(`Prompt update is no longer supported.
|
|
439
|
+
`);
|
|
535
440
|
break;
|
|
536
441
|
case "plugin":
|
|
537
442
|
runUpdatePlugin(rest[0] ?? "latest");
|
|
@@ -561,20 +466,6 @@ function runUpdateAll(projectDir) {
|
|
|
561
466
|
}
|
|
562
467
|
}
|
|
563
468
|
}
|
|
564
|
-
function runUpdatePrompt(projectDir) {
|
|
565
|
-
const updated = updatePrompts(projectDir);
|
|
566
|
-
if (updated.length === 0) {
|
|
567
|
-
process.stdout.write(`All prompt files are already up to date.
|
|
568
|
-
`);
|
|
569
|
-
} else {
|
|
570
|
-
process.stdout.write(`Updated ${updated.length} prompt file(s):
|
|
571
|
-
`);
|
|
572
|
-
for (const f of updated) {
|
|
573
|
-
process.stdout.write(` - ${f}
|
|
574
|
-
`);
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
469
|
function detectPackageManager() {
|
|
579
470
|
if (existsSync3("bun.lock") || existsSync3("bun.lockb"))
|
|
580
471
|
return "bun";
|