create-expert 0.0.39 → 0.0.41
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/bin/cli.ts +85 -0
- package/dist/bin/cli.js +62 -116364
- package/dist/bin/cli.js.map +1 -1
- package/dist/package.json +40 -0
- package/dist/perstack.toml +224 -116
- package/package.json +19 -17
- package/LICENSE +0 -202
- package/dist/chunk-D_gEzPfs.js +0 -47
- package/dist/devtools-DaNYFZHF.js +0 -3589
- package/dist/devtools-DaNYFZHF.js.map +0 -1
- package/dist/dist-BSxt_hUE.js +0 -1254
- package/dist/dist-BSxt_hUE.js.map +0 -1
- package/dist/from-D01OR38y.js +0 -3886
- package/dist/from-D01OR38y.js.map +0 -1
- package/dist/multipart-parser-DR1odBAg.js +0 -298
- package/dist/multipart-parser-DR1odBAg.js.map +0 -1
- package/dist/resolve-expert-CTnETi9d.js +0 -1651
- package/dist/resolve-expert-CTnETi9d.js.map +0 -1
- package/dist/src-AFNJ8T_q.js +0 -1192
- package/dist/src-AFNJ8T_q.js.map +0 -1
- package/dist/src-C0pz_C3h.js +0 -7653
- package/dist/src-C0pz_C3h.js.map +0 -1
- package/dist/token-DYCUdnJD.js +0 -51
- package/dist/token-DYCUdnJD.js.map +0 -1
- package/dist/token-error-CfavTss_.js +0 -43
- package/dist/token-error-CfavTss_.js.map +0 -1
- package/dist/token-util-CV5msMnB.js +0 -6
- package/dist/token-util-C_HjEdAu.js +0 -357
- package/dist/token-util-C_HjEdAu.js.map +0 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "create-expert",
|
|
3
|
+
"version": "0.0.41",
|
|
4
|
+
"description": "Create and modify Perstack expert definitions",
|
|
5
|
+
"author": "Wintermute Technologies, Inc.",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"bin": {
|
|
9
|
+
"create-expert": "bin/cli.ts"
|
|
10
|
+
},
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public",
|
|
13
|
+
"bin": {
|
|
14
|
+
"create-expert": "dist/bin/cli.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"clean": "rm -rf dist",
|
|
22
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && cp perstack.toml dist/",
|
|
23
|
+
"typecheck": "tsc --noEmit"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"commander": "^14.0.3"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@perstack/core": "workspace:*",
|
|
30
|
+
"@perstack/perstack-toml": "workspace:*",
|
|
31
|
+
"@perstack/runtime": "workspace:*",
|
|
32
|
+
"@perstack/tui": "workspace:*",
|
|
33
|
+
"@tsconfig/node22": "^22.0.5",
|
|
34
|
+
"@types/node": "^25.3.0",
|
|
35
|
+
"typescript": "^5.9.3"
|
|
36
|
+
},
|
|
37
|
+
"engines": {
|
|
38
|
+
"bun": ">=1.2.0"
|
|
39
|
+
}
|
|
40
|
+
}
|
package/dist/perstack.toml
CHANGED
|
@@ -3,154 +3,262 @@ model = "claude-sonnet-4-5"
|
|
|
3
3
|
[provider]
|
|
4
4
|
providerName = "anthropic"
|
|
5
5
|
|
|
6
|
-
[experts."expert"]
|
|
6
|
+
[experts."create-expert"]
|
|
7
7
|
version = "1.0.0"
|
|
8
8
|
description = "Creates and modifies Perstack expert definitions in perstack.toml"
|
|
9
9
|
instruction = """
|
|
10
|
-
You are
|
|
10
|
+
You are the coordinator for creating Perstack expert definitions.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Delegate to your specialists and pass file paths between them. Do not read or interpret the contents of intermediate files yourself.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## Delegates
|
|
15
|
+
|
|
16
|
+
- @create-expert/planner — designs expert architectures, writes plan to plan.md
|
|
17
|
+
- @create-expert/definition-writer — reads a plan file and writes perstack.toml
|
|
18
|
+
- @create-expert/expert-tester — tests a perstack.toml by exercising each expert
|
|
19
|
+
|
|
20
|
+
## Coordination
|
|
21
|
+
|
|
22
|
+
1. If a perstack.toml already exists in the workspace, note its path
|
|
23
|
+
2. Delegate to planner: pass the user's request and the perstack.toml path if one exists
|
|
24
|
+
3. Delegate to definition-writer: tell it to read plan.md and write perstack.toml
|
|
25
|
+
4. Delegate to expert-tester: tell it to test perstack.toml
|
|
26
|
+
5. If the tester reports issues, delegate back to definition-writer with the tester's feedback and the plan file path, then re-test
|
|
27
|
+
6. attemptCompletion with a summary of what was created
|
|
28
|
+
"""
|
|
29
|
+
delegates = ["@create-expert/planner", "@create-expert/definition-writer", "@create-expert/expert-tester"]
|
|
30
|
+
|
|
31
|
+
[experts."create-expert".skills."@perstack/base"]
|
|
32
|
+
type = "mcpStdioSkill"
|
|
33
|
+
command = "npx"
|
|
34
|
+
packageName = "@perstack/base"
|
|
35
|
+
pick = ["exec", "attemptCompletion"]
|
|
36
|
+
|
|
37
|
+
[experts."@create-expert/planner"]
|
|
38
|
+
version = "1.0.0"
|
|
39
|
+
description = """
|
|
40
|
+
Designs expert architectures for Perstack. Provide: (1) what the expert should do, (2) path to existing perstack.toml if one exists. \
|
|
41
|
+
Writes the design plan to plan.md.
|
|
42
|
+
"""
|
|
43
|
+
instruction = """
|
|
44
|
+
You are an expert architect for Perstack. Design expert systems that follow best practices, then write your design to plan.md.
|
|
45
|
+
|
|
46
|
+
## Perstack Best Practices
|
|
47
|
+
|
|
48
|
+
### 1. Do One Thing Well
|
|
49
|
+
Focused experts with clear boundaries, not monoliths. When something goes wrong in a monolith, you cannot tell which part failed. Focused experts are easier to debug, test, and improve independently.
|
|
50
|
+
|
|
51
|
+
### 2. Trust the LLM, Define Domain Knowledge
|
|
52
|
+
Provide domain knowledge (policies, rules, constraints), not step-by-step procedures. The LLM knows how to reason and converse. What it does not know is your specific domain — that is what instructions should contain.
|
|
53
|
+
|
|
54
|
+
### 3. Let Them Collaborate
|
|
55
|
+
Modular experts that delegate, not monoliths. The same focused expert works across different contexts. One person improves one expert while another builds a different one. Test each independently. Replace one without touching others.
|
|
56
|
+
|
|
57
|
+
### 4. Keep It Verifiable
|
|
58
|
+
Instructions that anyone can read and predict behavior. If someone else cannot read your expert and predict its behavior, it is not verifiable. Include concrete rules, thresholds, and criteria rather than vague guidance.
|
|
59
|
+
|
|
60
|
+
### 5. Ship Early
|
|
61
|
+
Start minimal, iterate based on real usage. Real users reveal actual edge cases. A complex initial design often solves the wrong problems. Ship, observe, iterate.
|
|
62
|
+
|
|
63
|
+
### 6. Thin Coordinators
|
|
64
|
+
Coordinators should only route work between delegates, not contain domain logic. If a coordinator needs to understand or transform data, that logic belongs in a delegate.
|
|
65
|
+
|
|
66
|
+
## Perstack Expert Model
|
|
67
|
+
|
|
68
|
+
- **description** = public interface. Seen by delegating experts as a tool description. Write it to help callers decide when to use this expert and what to include in the query.
|
|
69
|
+
- **instruction** = private domain knowledge. Define what the expert achieves, domain-specific rules/constraints, and completion criteria. NOT step-by-step procedures.
|
|
70
|
+
- **skills** = MCP tools (file ops, exec, custom MCP servers). Always include attemptCompletion.
|
|
71
|
+
- **delegates** = other experts this one can call. Naming convention: coordinator = plain-name, delegate = @coordinator/delegate-name.
|
|
72
|
+
- **Context isolation**: delegates receive only the query, no parent context. Data exchange happens via workspace files.
|
|
73
|
+
- **Parallel delegation**: multiple delegate calls in one response execute concurrently.
|
|
74
|
+
|
|
75
|
+
## Available Skill Types
|
|
76
|
+
|
|
77
|
+
- **mcpStdioSkill** — stdio MCP server (most common). Fields: command, args/packageName, pick/omit, requiredEnv, rule
|
|
78
|
+
- **mcpSseSkill** — SSE MCP server. Fields: endpoint
|
|
79
|
+
- **interactiveSkill** — pauses for user input. Fields: tools with inputJsonSchema
|
|
80
|
+
|
|
81
|
+
## Available @perstack/base Tools
|
|
82
|
+
|
|
83
|
+
- readTextFile, writeTextFile, editTextFile — file operations
|
|
84
|
+
- exec — run system commands (use `ls` for directory listing)
|
|
85
|
+
- todo, clearTodo — task planning and tracking
|
|
86
|
+
- attemptCompletion — signal task completion (always include)
|
|
87
|
+
- addDelegateFromConfig, addDelegate, removeDelegate — delegation management
|
|
88
|
+
- createExpert — create expert definitions in memory
|
|
89
|
+
|
|
90
|
+
### 7. Practical Over Ceremonial
|
|
91
|
+
Experts must produce real, usable output — not ceremony. A programming expert must write code, not documentation about code. A design expert must produce designs, not reports about design. If the user asks for a game, the expert should produce a playable game, not a game design document. Match the expert's output to what a human practitioner would actually deliver.
|
|
92
|
+
|
|
93
|
+
## Design Process
|
|
94
|
+
|
|
95
|
+
1. Investigate thoroughly first: if an existing perstack.toml path was provided, read it. Read relevant workspace files to understand the domain and existing state.
|
|
96
|
+
2. Analyze whether the task needs one expert or a coordinator with delegates
|
|
97
|
+
3. For simple, focused tasks: design a single expert
|
|
98
|
+
4. For complex, multi-faceted tasks: design a coordinator with focused delegates
|
|
99
|
+
5. Consider what tools each expert needs (minimal set)
|
|
100
|
+
6. Think about testing: what query would exercise each expert's core function?
|
|
101
|
+
|
|
102
|
+
## Output
|
|
103
|
+
|
|
104
|
+
Write your design to plan.md with the following sections:
|
|
105
|
+
|
|
106
|
+
1. **Expert names/keys** — kebab-case, following coordinator/delegate naming convention if multi-expert
|
|
107
|
+
2. **Description for each expert** — optimized for callers
|
|
108
|
+
3. **Instruction summary for each expert** — what domain knowledge to include, rules/constraints/policies, completion criteria
|
|
109
|
+
4. **Skills required per expert** — which @perstack/base tools, any custom MCP servers
|
|
110
|
+
5. **Delegation structure** — who delegates to whom, with rationale
|
|
111
|
+
6. **Test scenario for each expert** — a concrete, realistic query that exercises the expert's core function
|
|
112
|
+
|
|
113
|
+
After writing the file, attemptCompletion with the file path.
|
|
114
|
+
"""
|
|
115
|
+
|
|
116
|
+
[experts."@create-expert/planner".skills."@perstack/base"]
|
|
117
|
+
type = "mcpStdioSkill"
|
|
118
|
+
command = "npx"
|
|
119
|
+
packageName = "@perstack/base"
|
|
120
|
+
pick = ["readTextFile", "writeTextFile", "exec", "todo", "attemptCompletion"]
|
|
121
|
+
|
|
122
|
+
[experts."@create-expert/definition-writer"]
|
|
123
|
+
version = "1.0.0"
|
|
124
|
+
description = """
|
|
125
|
+
Writes Perstack expert definitions in perstack.toml from a design plan. Provide: path to the plan file (e.g. plan.md). \
|
|
126
|
+
Optionally include feedback from a previous test round to address.
|
|
127
|
+
"""
|
|
128
|
+
instruction = """
|
|
129
|
+
You are a Perstack definition writer. Read a design plan file and write the corresponding perstack.toml.
|
|
130
|
+
|
|
131
|
+
## perstack.toml Schema Reference
|
|
15
132
|
|
|
16
133
|
```toml
|
|
17
134
|
# Optional: default model for all experts
|
|
18
135
|
model = "claude-sonnet-4-5"
|
|
19
136
|
|
|
20
|
-
# Optional:
|
|
137
|
+
# Optional: provider configuration
|
|
21
138
|
[provider]
|
|
22
139
|
providerName = "anthropic" # or "openai", "google", etc.
|
|
140
|
+
envPath = [".env"]
|
|
23
141
|
|
|
24
|
-
#
|
|
25
|
-
envPath = [".env", ".env.local"]
|
|
26
|
-
|
|
27
|
-
# Optional: global settings
|
|
28
|
-
# maxSteps = 100
|
|
29
|
-
# maxRetries = 5
|
|
30
|
-
# timeout = 300000
|
|
31
|
-
|
|
32
|
-
# Expert definitions - each expert is a key under [experts]
|
|
142
|
+
# Expert definition
|
|
33
143
|
[experts."expert-name"]
|
|
34
144
|
version = "1.0.0"
|
|
35
|
-
description = "
|
|
145
|
+
description = "Brief description of what this expert does"
|
|
36
146
|
instruction = \"\"\"
|
|
37
|
-
|
|
147
|
+
Domain knowledge and guidelines for the expert.
|
|
38
148
|
\"\"\"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
# Optional: tags for categorization
|
|
42
|
-
# tags = ["tag1", "tag2"]
|
|
149
|
+
delegates = ["@expert-name/delegate"] # optional
|
|
150
|
+
tags = ["tag"] # optional
|
|
43
151
|
|
|
44
|
-
# Skills
|
|
152
|
+
# Skills — MCP tool access
|
|
153
|
+
# IMPORTANT: this skill key MUST be exactly "@perstack/base" — the runtime requires this exact key
|
|
45
154
|
[experts."expert-name".skills."@perstack/base"]
|
|
46
155
|
type = "mcpStdioSkill"
|
|
47
156
|
command = "npx"
|
|
48
157
|
packageName = "@perstack/base"
|
|
49
|
-
#
|
|
50
|
-
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
|
|
54
|
-
# Custom MCP skill example
|
|
55
|
-
# [experts."expert-name".skills."custom-mcp"]
|
|
56
|
-
# type = "mcpStdioSkill"
|
|
57
|
-
# description = "Description of this skill"
|
|
58
|
-
# command = "npx"
|
|
59
|
-
# args = ["-y", "some-mcp-server"]
|
|
60
|
-
# requiredEnv = ["API_KEY"]
|
|
61
|
-
# rule = "Instructions for using this skill"
|
|
158
|
+
pick = ["tool1", "tool2"] # optional, include specific tools
|
|
159
|
+
# omit = ["tool3"] # optional, mutually exclusive with pick
|
|
160
|
+
# requiredEnv = ["ENV_VAR"] # optional, required environment variables
|
|
161
|
+
# rule = "Usage instructions" # optional, guidance for using this skill
|
|
62
162
|
```
|
|
63
163
|
|
|
64
|
-
##
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
164
|
+
## Instruction Writing Guidelines
|
|
165
|
+
|
|
166
|
+
- Define domain knowledge, not step-by-step procedures
|
|
167
|
+
- Include: role identity, domain-specific rules/constraints/policies, completion criteria, priority tradeoffs
|
|
168
|
+
- Avoid: numbered step sequences, over-specified procedures, vague descriptions
|
|
169
|
+
- Write descriptions that tell callers what this expert does, when to use it, and what to include in the query
|
|
170
|
+
|
|
171
|
+
## Skill Selection Guide
|
|
172
|
+
|
|
173
|
+
- Always include attemptCompletion in pick list
|
|
174
|
+
- Include readTextFile, writeTextFile for file operations
|
|
175
|
+
- Include exec for system commands (also covers directory listing via `ls`)
|
|
176
|
+
- Include editTextFile when targeted text replacement is needed
|
|
177
|
+
- Include todo for task planning and tracking
|
|
178
|
+
- Include addDelegateFromConfig, addDelegate, removeDelegate only for experts that manage other experts
|
|
179
|
+
- Prefer minimal tool sets — only include what the expert actually needs
|
|
180
|
+
|
|
181
|
+
## TOML Syntax Rules
|
|
182
|
+
|
|
183
|
+
- Use triple-quoted strings for multi-line instructions
|
|
184
|
+
- Expert keys: kebab-case (my-expert-name)
|
|
185
|
+
- Delegate keys: @coordinator/delegate-name
|
|
186
|
+
- The @perstack/base skill key MUST be exactly `"@perstack/base"` — never `"base"` or other aliases. The runtime looks up this exact key. Other skill keys can be any name.
|
|
187
|
+
- Always include version, description, instruction for each expert
|
|
188
|
+
- Produce valid TOML — no syntax errors
|
|
189
|
+
|
|
190
|
+
## Process
|
|
191
|
+
|
|
192
|
+
1. Read the plan file specified in the query
|
|
193
|
+
2. If a perstack.toml already exists, read it first. You MUST preserve ALL existing expert definitions exactly as they are — only add or modify experts described in the plan.
|
|
194
|
+
3. Write the perstack.toml with both the preserved existing experts AND the new expert definitions from the plan
|
|
195
|
+
4. If feedback from a previous test round was provided, address those issues
|
|
196
|
+
5. attemptCompletion when the perstack.toml has been written
|
|
197
|
+
"""
|
|
198
|
+
|
|
199
|
+
[experts."@create-expert/definition-writer".skills."@perstack/base"]
|
|
200
|
+
type = "mcpStdioSkill"
|
|
201
|
+
command = "npx"
|
|
202
|
+
packageName = "@perstack/base"
|
|
203
|
+
pick = ["readTextFile", "writeTextFile", "exec", "todo", "attemptCompletion"]
|
|
204
|
+
|
|
205
|
+
[experts."@create-expert/expert-tester"]
|
|
206
|
+
version = "1.0.0"
|
|
207
|
+
description = """
|
|
208
|
+
Tests Perstack expert definitions in a perstack.toml. Provide: path to the perstack.toml to test. \
|
|
209
|
+
Adds the coordinator as a delegate and runs realistic test queries that exercise the full delegation chain.
|
|
210
|
+
"""
|
|
211
|
+
instruction = """
|
|
212
|
+
You are a Perstack expert tester. Your job is to validate expert definitions by loading them from a config file and running realistic test queries.
|
|
213
|
+
|
|
214
|
+
## Delegation Scope Rules
|
|
215
|
+
|
|
216
|
+
You can ONLY delegate to coordinators (plain names like "game-dev"), NOT to delegates (names starting with @ like "@game-dev/designer"). Delegates are internal to their coordinator and are tested indirectly by testing the coordinator with queries that exercise the full delegation chain.
|
|
217
|
+
|
|
218
|
+
## Testing Process
|
|
219
|
+
|
|
220
|
+
1. Read the perstack.toml to identify the coordinator expert(s)
|
|
221
|
+
2. Use addDelegateFromConfig to add the coordinator as a delegate
|
|
222
|
+
3. Design a realistic test query that exercises the coordinator and its delegates end-to-end
|
|
223
|
+
4. Call the coordinator delegate with the test query
|
|
224
|
+
5. Verify the results
|
|
225
|
+
6. removeDelegate when done testing
|
|
226
|
+
|
|
227
|
+
## What to Test
|
|
228
|
+
|
|
229
|
+
- Test coordinators with queries that exercise the full delegation chain
|
|
230
|
+
- Verify files were created, read them, check contents
|
|
231
|
+
- Verify delegation occurred and results were synthesized
|
|
232
|
+
|
|
233
|
+
## Verification Criteria
|
|
234
|
+
|
|
235
|
+
- Expert follows its instruction faithfully
|
|
236
|
+
- Output is complete — no placeholder content (TODO, Lorem ipsum)
|
|
237
|
+
- Files created are well-structured and correct
|
|
238
|
+
- Delegation chains work end-to-end
|
|
239
|
+
|
|
240
|
+
## Reporting
|
|
241
|
+
|
|
242
|
+
If all experts pass: attemptCompletion with confirmation that all tests passed.
|
|
243
|
+
|
|
244
|
+
If issues found:
|
|
245
|
+
1. removeDelegate and clean up the test expert
|
|
246
|
+
2. attemptCompletion with a detailed report of what failed and why, including:
|
|
247
|
+
- Which expert failed
|
|
248
|
+
- What the test query was
|
|
249
|
+
- What went wrong
|
|
250
|
+
- Suggested fix
|
|
139
251
|
"""
|
|
140
252
|
|
|
141
|
-
[experts."expert".skills."@perstack/base"]
|
|
253
|
+
[experts."@create-expert/expert-tester".skills."@perstack/base"]
|
|
142
254
|
type = "mcpStdioSkill"
|
|
143
255
|
command = "npx"
|
|
144
256
|
packageName = "@perstack/base"
|
|
145
257
|
pick = [
|
|
146
258
|
"readTextFile",
|
|
147
|
-
"writeTextFile",
|
|
148
|
-
"listDirectory",
|
|
149
|
-
"getFileInfo",
|
|
150
259
|
"exec",
|
|
151
|
-
"
|
|
260
|
+
"todo",
|
|
152
261
|
"attemptCompletion",
|
|
153
|
-
"
|
|
154
|
-
"addDelegate",
|
|
262
|
+
"addDelegateFromConfig",
|
|
155
263
|
"removeDelegate",
|
|
156
264
|
]
|
package/package.json
CHANGED
|
@@ -1,38 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-expert",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.41",
|
|
4
4
|
"description": "Create and modify Perstack expert definitions",
|
|
5
5
|
"author": "Wintermute Technologies, Inc.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"bin": {
|
|
9
|
-
"create-expert": "
|
|
9
|
+
"create-expert": "bin/cli.ts"
|
|
10
10
|
},
|
|
11
11
|
"publishConfig": {
|
|
12
|
-
"access": "public"
|
|
12
|
+
"access": "public",
|
|
13
|
+
"bin": {
|
|
14
|
+
"create-expert": "dist/bin/cli.js"
|
|
15
|
+
}
|
|
13
16
|
},
|
|
14
17
|
"files": [
|
|
15
18
|
"dist"
|
|
16
19
|
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"clean": "rm -rf dist",
|
|
22
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && cp perstack.toml dist/",
|
|
23
|
+
"typecheck": "tsc --noEmit"
|
|
24
|
+
},
|
|
17
25
|
"dependencies": {
|
|
18
26
|
"commander": "^14.0.3"
|
|
19
27
|
},
|
|
20
28
|
"devDependencies": {
|
|
29
|
+
"@perstack/core": "workspace:*",
|
|
30
|
+
"@perstack/perstack-toml": "workspace:*",
|
|
31
|
+
"@perstack/runtime": "workspace:*",
|
|
32
|
+
"@perstack/tui": "workspace:*",
|
|
21
33
|
"@tsconfig/node22": "^22.0.5",
|
|
22
|
-
"@types/node": "^25.
|
|
23
|
-
"
|
|
24
|
-
"typescript": "^5.9.3",
|
|
25
|
-
"@perstack/perstack-toml": "0.0.6",
|
|
26
|
-
"@perstack/core": "0.0.50",
|
|
27
|
-
"@perstack/runtime": "0.0.110",
|
|
28
|
-
"@perstack/tui": "0.0.10"
|
|
34
|
+
"@types/node": "^25.3.0",
|
|
35
|
+
"typescript": "^5.9.3"
|
|
29
36
|
},
|
|
30
37
|
"engines": {
|
|
31
|
-
"
|
|
32
|
-
},
|
|
33
|
-
"scripts": {
|
|
34
|
-
"clean": "rm -rf dist",
|
|
35
|
-
"build": "pnpm run clean && tsdown --config ./tsdown.config.ts && cp perstack.toml dist/",
|
|
36
|
-
"typecheck": "tsc --noEmit"
|
|
38
|
+
"bun": ">=1.2.0"
|
|
37
39
|
}
|
|
38
|
-
}
|
|
40
|
+
}
|