@mindfoldhq/trellis 0.6.0-beta.21 → 0.6.0-beta.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 +49 -49
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +65 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +81 -4
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +13 -0
- package/dist/commands/workflow.js.map +1 -1
- package/dist/configurators/index.d.ts.map +1 -1
- package/dist/configurators/index.js +5 -0
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/reasonix.d.ts +23 -0
- package/dist/configurators/reasonix.d.ts.map +1 -0
- package/dist/configurators/reasonix.js +60 -0
- package/dist/configurators/reasonix.js.map +1 -0
- package/dist/configurators/workflow.d.ts.map +1 -1
- package/dist/configurators/workflow.js +11 -1
- package/dist/configurators/workflow.js.map +1 -1
- package/dist/constants/paths.d.ts +4 -0
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +4 -0
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.5.19.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.22.json +9 -0
- package/dist/migrations/manifests/0.6.0-beta.23.json +88 -0
- package/dist/templates/codex/agents/trellis-check.toml +0 -25
- package/dist/templates/codex/agents/trellis-implement.toml +0 -25
- package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +81 -0
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +66 -0
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/triggering-patterns.md +93 -0
- package/dist/templates/common/bundled-skills/{trellis-spec-bootstarp → trellis-spec-bootstrap}/SKILL.md +2 -2
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +68 -0
- package/dist/templates/reasonix/agents/trellis-check.md +36 -0
- package/dist/templates/reasonix/agents/trellis-implement.md +41 -0
- package/dist/templates/reasonix/index.d.ts +13 -0
- package/dist/templates/reasonix/index.d.ts.map +1 -0
- package/dist/templates/reasonix/index.js +16 -0
- package/dist/templates/reasonix/index.js.map +1 -0
- package/dist/templates/trellis/agents/check.md +70 -0
- package/dist/templates/trellis/agents/implement.md +71 -0
- package/dist/templates/trellis/index.d.ts +13 -0
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +22 -0
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/types/ai-tools.d.ts +4 -4
- package/dist/types/ai-tools.d.ts.map +1 -1
- package/dist/types/ai-tools.js +16 -0
- package/dist/types/ai-tools.js.map +1 -1
- package/dist/utils/agent-refs.d.ts +31 -0
- package/dist/utils/agent-refs.d.ts.map +1 -0
- package/dist/utils/agent-refs.js +63 -0
- package/dist/utils/agent-refs.js.map +1 -0
- package/dist/utils/registry-config.d.ts +7 -0
- package/dist/utils/registry-config.d.ts.map +1 -0
- package/dist/utils/registry-config.js +171 -0
- package/dist/utils/registry-config.js.map +1 -0
- package/dist/utils/template-fetcher.d.ts +11 -0
- package/dist/utils/template-fetcher.d.ts.map +1 -1
- package/dist/utils/template-fetcher.js +51 -2
- package/dist/utils/template-fetcher.js.map +1 -1
- package/package.json +2 -2
- /package/dist/templates/common/bundled-skills/{trellis-spec-bootstarp → trellis-spec-bootstrap}/references/mcp-setup.md +0 -0
- /package/dist/templates/common/bundled-skills/{trellis-spec-bootstarp → trellis-spec-bootstrap}/references/repository-analysis.md +0 -0
- /package/dist/templates/common/bundled-skills/{trellis-spec-bootstarp → trellis-spec-bootstrap}/references/spec-task-planning.md +0 -0
- /package/dist/templates/common/bundled-skills/{trellis-spec-bootstarp → trellis-spec-bootstrap}/references/spec-writing.md +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Triggering Patterns
|
|
2
|
+
|
|
3
|
+
Verbatim user phrasings that should make an AI reach for `trellis mem`. Calibrate instinct against these — if a user message hits one of these patterns and you do not reach for `mem`, you probably missed an obvious recall.
|
|
4
|
+
|
|
5
|
+
Patterns are grouped by the *intent* behind the phrasing, not the surface words. The same intent shows up in different languages and registers.
|
|
6
|
+
|
|
7
|
+
## Past-solution recall
|
|
8
|
+
|
|
9
|
+
The user is asking "how did we (or I) solve this before". Past dialogue holds the answer; the codebase shows the result but not the reasoning.
|
|
10
|
+
|
|
11
|
+
- "How did we solve this last time?"
|
|
12
|
+
- "What did we end up doing about X?"
|
|
13
|
+
- "We dealt with this once already, didn't we?"
|
|
14
|
+
- "上次怎么解的?"
|
|
15
|
+
- "之前是怎么搞定 X 的?"
|
|
16
|
+
- "我记得以前修过类似的"
|
|
17
|
+
|
|
18
|
+
Reach: `trellis mem search "<symptom keyword>" --global --limit 10`, then `context` into the hit that looks closest.
|
|
19
|
+
|
|
20
|
+
## Decision retrieval
|
|
21
|
+
|
|
22
|
+
The user is referencing a decision that lives in old dialogue, not in any committed file. Look in brainstorm windows.
|
|
23
|
+
|
|
24
|
+
- "What was the decision on X?"
|
|
25
|
+
- "Did we decide to use Postgres or SQLite?"
|
|
26
|
+
- "The rationale for choosing X over Y was…?"
|
|
27
|
+
- "我们当时为啥选了 X 而不是 Y?"
|
|
28
|
+
- "关于 X 我们之前是怎么定的?"
|
|
29
|
+
- "之前讨论过 X 的方案吗?"
|
|
30
|
+
|
|
31
|
+
Reach: `trellis mem search "<decision keyword>"` to find the session, then `extract <id> --phase brainstorm` to recover the discussion.
|
|
32
|
+
|
|
33
|
+
## Cross-session continuation
|
|
34
|
+
|
|
35
|
+
The user resumed work after a gap and the context is implicit.
|
|
36
|
+
|
|
37
|
+
- "Where were we?"
|
|
38
|
+
- "Continue from last time."
|
|
39
|
+
- "Pick up where we left off."
|
|
40
|
+
- "继续上次的"
|
|
41
|
+
- "我们上次做到哪了"
|
|
42
|
+
- "接着昨天那个任务"
|
|
43
|
+
|
|
44
|
+
Reach: `trellis mem list --task <current-task-dir>` to find the most recent sessions tied to the active task, then `extract` the last one.
|
|
45
|
+
|
|
46
|
+
## Familiar-bug debugging
|
|
47
|
+
|
|
48
|
+
The current bug feels like one already seen. Past sessions probably hold the resolution path.
|
|
49
|
+
|
|
50
|
+
- "I feel like I've hit this before."
|
|
51
|
+
- "Doesn't this look like that bug from last month?"
|
|
52
|
+
- "Same kind of timeout I had in X."
|
|
53
|
+
- "这个错好像之前见过"
|
|
54
|
+
- "这个 bug 是不是上次那个?"
|
|
55
|
+
- "怎么又是这个 error?"
|
|
56
|
+
|
|
57
|
+
Reach: `trellis mem search "<error message fragment>" --global`. Anchor on a short, distinctive token from the actual error string.
|
|
58
|
+
|
|
59
|
+
## Self-pattern spotting
|
|
60
|
+
|
|
61
|
+
The user is asking whether they keep repeating the same kind of mistake or decision.
|
|
62
|
+
|
|
63
|
+
- "Do I always make this mistake?"
|
|
64
|
+
- "How often have I run into X?"
|
|
65
|
+
- "Is this a recurring thing for me?"
|
|
66
|
+
- "我每次都踩这个坑吗?"
|
|
67
|
+
- "我老犯这个错?"
|
|
68
|
+
- "这类问题之前出现过几次?"
|
|
69
|
+
|
|
70
|
+
Reach: `trellis mem search "<topic>" --global --limit 50` and scan the dates / projects in the listing. Optionally `extract` two or three for comparison.
|
|
71
|
+
|
|
72
|
+
## Finish-work retrospective (on demand)
|
|
73
|
+
|
|
74
|
+
The user explicitly wants to look back at this task — not as a forced step, only when they ask.
|
|
75
|
+
|
|
76
|
+
- "Summarize what we did in this task."
|
|
77
|
+
- "What were the key decisions / surprises?"
|
|
78
|
+
- "Write up the lessons from this round."
|
|
79
|
+
- "总结一下这次的经验"
|
|
80
|
+
- "记一下这次踩的坑"
|
|
81
|
+
- "复盘下这个任务"
|
|
82
|
+
|
|
83
|
+
Reach: identify the current task's session id (from `.trellis/.runtime/sessions/*.json` or `mem list --task <task-dir>`), then `extract <id> --phase brainstorm` and `--phase implement`. Present a summary — surface concrete file:line citations where possible. Whether to also write the summary somewhere (PRD, spec, notes file) is the user's call; offer, don't auto-write.
|
|
84
|
+
|
|
85
|
+
## Anti-patterns: do NOT reach for `mem` here
|
|
86
|
+
|
|
87
|
+
- "What does this function do?" → read the file.
|
|
88
|
+
- "Why is this test failing?" → read the test output and the file.
|
|
89
|
+
- "What's the right pattern for X in our codebase?" → grep / read spec files.
|
|
90
|
+
- "What's the latest npm version of Y?" → call `npm view`.
|
|
91
|
+
- "Fix this bug." → debug. Reach for `mem` only if you suspect prior context exists; otherwise it is noise.
|
|
92
|
+
|
|
93
|
+
The bar stays: would a senior teammate ask "didn't we already talk about this?" before answering? If yes, reach for `mem`. If no, don't.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: trellis-spec-
|
|
2
|
+
name: trellis-spec-bootstrap
|
|
3
3
|
description: "Bootstrap project-specific Trellis coding specs with a platform-neutral single-agent workflow. Use when creating or refreshing .trellis/spec guidelines, analyzing a codebase with GitNexus, ABCoder, or source inspection, decomposing package/layer spec work, and writing real codebase-backed spec docs without placeholder text."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Trellis Spec
|
|
6
|
+
# Trellis Spec Bootstrap
|
|
7
7
|
|
|
8
8
|
Use this skill to create or refresh `.trellis/spec/` guidelines from the real codebase. One capable agent owns the full loop: analyze the repository, choose the spec boundaries, write the docs, and verify the result. The workflow does not depend on a specific host, CLI, or agent brand.
|
|
9
9
|
|
|
@@ -220,6 +220,74 @@ When a CLI auto-detects a mode by probing a remote resource (e.g., checking if `
|
|
|
220
220
|
|
|
221
221
|
---
|
|
222
222
|
|
|
223
|
+
## Cross-Platform Template Consistency
|
|
224
|
+
|
|
225
|
+
In Trellis, command templates (e.g., `record-session.md`) exist in **multiple platforms** with identical or near-identical content. This is a cross-layer boundary.
|
|
226
|
+
|
|
227
|
+
### Checklist: After Modifying Any Command Template
|
|
228
|
+
|
|
229
|
+
- [ ] Find all platforms with the same command: `find src/templates/*/commands/trellis/ -name "<command>.*"`
|
|
230
|
+
- [ ] Update all platform copies (Markdown `.md` and TOML `.toml`)
|
|
231
|
+
- [ ] For Gemini TOML: adapt line continuations (`\\` vs `\`) and triple-quoted strings
|
|
232
|
+
- [ ] Run `/trellis:check-cross-layer` to verify nothing was missed
|
|
233
|
+
|
|
234
|
+
**Real-world example**: Updated `record-session.md` in Claude to use `--mode record`, but forgot iFlow, Kilo, OpenCode, and Gemini — caught by cross-layer check.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Generated Runtime Template Upgrade Consistency
|
|
239
|
+
|
|
240
|
+
Some generated files are both documentation and runtime input. In Trellis,
|
|
241
|
+
`.trellis/workflow.md` is parsed by `get_context.py`, `workflow_phase.py`,
|
|
242
|
+
SessionStart filters, and per-turn hooks. Template changes must be validated
|
|
243
|
+
against both fresh init and upgrade paths.
|
|
244
|
+
|
|
245
|
+
### Checklist: After Modifying A Runtime-Parsed Template
|
|
246
|
+
|
|
247
|
+
- [ ] Identify every runtime parser that reads the template, not just the file
|
|
248
|
+
writer that installs it
|
|
249
|
+
- [ ] Check whether relevant syntax lives outside obvious managed regions
|
|
250
|
+
such as tag blocks
|
|
251
|
+
- [ ] Verify fresh `init` output and a versioned `update` scenario that writes
|
|
252
|
+
the older `.trellis/.version`
|
|
253
|
+
- [ ] Add an upgrade regression using an older pristine template fixture, then
|
|
254
|
+
assert the installed file reaches the current packaged shape
|
|
255
|
+
- [ ] Update the backend spec that owns the runtime contract
|
|
256
|
+
|
|
257
|
+
**Real-world example**: Codex inline mode changed workflow platform markers from
|
|
258
|
+
`[Codex]` / `[Kilo, Antigravity, Windsurf]` to `[codex-sub-agent]` /
|
|
259
|
+
`[codex-inline, Kilo, Antigravity, Windsurf]`. Fresh init was correct, but
|
|
260
|
+
`trellis update` only merged `[workflow-state:*]` blocks and preserved stale
|
|
261
|
+
markers outside those blocks. Result: upgraded projects got new hook scripts
|
|
262
|
+
but old workflow routing, so `get_context.py --mode phase --platform codex`
|
|
263
|
+
could return empty Phase 2.1 detail.
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Mode-Detection Probe Checklist
|
|
268
|
+
|
|
269
|
+
When a CLI auto-detects a mode by probing a remote resource (e.g., checking if `index.json` exists to decide marketplace vs direct download):
|
|
270
|
+
|
|
271
|
+
### Before implementing:
|
|
272
|
+
- [ ] Probe runs in **ALL** code paths that use the result (interactive, `-y`, `--flag` combos)
|
|
273
|
+
- [ ] 404 vs transient error are distinguished — don't treat both as "not found"
|
|
274
|
+
- [ ] Transient errors **abort or retry**, never silently switch modes
|
|
275
|
+
- [ ] Shared state (caches, prefetched data) is **reset** when context changes (e.g., user switches source)
|
|
276
|
+
- [ ] **Shortcut paths** (e.g., `--template` skipping picker) must have the same error-handling quality as the probed path — check that downstream functions don't call catch-all wrappers
|
|
277
|
+
|
|
278
|
+
### After implementing:
|
|
279
|
+
- [ ] Trace every path from probe result to the mode-decision branch — no fallthrough
|
|
280
|
+
- [ ] External format contracts (giget URI, raw URLs) are tested or at least documented as comments
|
|
281
|
+
- [ ] Metadata reads consume a complete response or use a streaming parser — never parse a fixed-size prefix as full JSON
|
|
282
|
+
- [ ] When reconstructing a composite identifier from parsed parts, verify **all** fields are included and in the **correct position** (e.g., `provider:repo/path#ref` not `provider:repo#ref/path`)
|
|
283
|
+
- [ ] Verify that **action functions** called after a shortcut don't internally use the old catch-all fetch — they must use the probe-quality variant when error distinction matters
|
|
284
|
+
|
|
285
|
+
**Real-world example**: Custom registry flow had 8 bugs across 3 review rounds: (1) probe only ran in interactive mode, (2) transient errors fell through to wrong mode, (3) giget URI had `#ref` in wrong position, (4) prefetched templates leaked across source switches, (5) `--template` shortcut bypassed probe but `downloadTemplateById` internally used catch-all `fetchTemplateIndex`, turning timeouts into "Template not found".
|
|
286
|
+
|
|
287
|
+
**Real-world example**: Agent-session update hints fetched npm `latest` metadata with `response.read(4096)` and then parsed it as complete JSON. The `@mindfoldhq/trellis` package metadata exceeded 4 KB, so the JSON was truncated, parse failed silently, and the first session injection showed no update hint. Fix: read the complete response before parsing, and add a regression where `version` is followed by an 8 KB metadata tail.
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
223
291
|
## When to Create Flow Documentation
|
|
224
292
|
|
|
225
293
|
Create detailed flow docs when:
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trellis-check
|
|
3
|
+
description: Code quality check expert. Reviews changes against Trellis specs, fixes issues directly, and verifies quality gates.
|
|
4
|
+
runAs: subagent
|
|
5
|
+
allowed-tools: read_file,write_file,edit_file,search_content,search_files,glob,run_command,list_directory,directory_tree
|
|
6
|
+
---
|
|
7
|
+
# Check Agent
|
|
8
|
+
|
|
9
|
+
You are the Check Agent in the Trellis workflow.
|
|
10
|
+
|
|
11
|
+
## Recursion Guard
|
|
12
|
+
|
|
13
|
+
You are already the `trellis-check` sub-agent that the main session dispatched. Do the review and fixes directly.
|
|
14
|
+
|
|
15
|
+
- Do NOT spawn another `trellis-check` or `trellis-implement` sub-agent.
|
|
16
|
+
- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
|
|
17
|
+
- Only the main session may dispatch Trellis implement/check agents. If more implementation work is needed, report that recommendation instead of spawning.
|
|
18
|
+
|
|
19
|
+
## Core Responsibilities
|
|
20
|
+
|
|
21
|
+
1. Inspect the current git diff.
|
|
22
|
+
2. Read and follow the spec and research files listed in the task's `check.jsonl`.
|
|
23
|
+
3. Review all changed code against the task PRD and project specs.
|
|
24
|
+
4. Fix issues directly when they are within scope.
|
|
25
|
+
5. Run the relevant lint, typecheck, and focused tests available for the touched code.
|
|
26
|
+
|
|
27
|
+
## Review Priorities
|
|
28
|
+
|
|
29
|
+
- Behavioral regressions and missing requirements.
|
|
30
|
+
- Spec or platform contract violations.
|
|
31
|
+
- Missing or weak tests for logic changes.
|
|
32
|
+
- Cross-platform path, command, and encoding assumptions.
|
|
33
|
+
|
|
34
|
+
## Output
|
|
35
|
+
|
|
36
|
+
Report findings fixed, files changed, and verification results. If no issues remain, say that clearly.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trellis-implement
|
|
3
|
+
description: Code implementation expert. Understands Trellis specs and requirements, then implements features. No git commit allowed.
|
|
4
|
+
runAs: subagent
|
|
5
|
+
allowed-tools: read_file,write_file,edit_file,multi_edit,search_content,search_files,glob,run_command,list_directory,directory_tree,create_directory,delete_file,move_file
|
|
6
|
+
---
|
|
7
|
+
# Implement Agent
|
|
8
|
+
|
|
9
|
+
You are the Implement Agent in the Trellis workflow.
|
|
10
|
+
|
|
11
|
+
## Recursion Guard
|
|
12
|
+
|
|
13
|
+
You are already the `trellis-implement` sub-agent that the main session dispatched. Do the implementation work directly.
|
|
14
|
+
|
|
15
|
+
- Do NOT spawn another `trellis-implement` or `trellis-check` sub-agent.
|
|
16
|
+
- If SessionStart context, workflow-state breadcrumbs, or workflow.md say to dispatch `trellis-implement` / `trellis-check`, treat that as a main-session instruction that is already satisfied by your current role.
|
|
17
|
+
- Only the main session may dispatch Trellis implement/check agents. If more parallel work is needed, report that recommendation instead of spawning.
|
|
18
|
+
|
|
19
|
+
## Core Responsibilities
|
|
20
|
+
|
|
21
|
+
1. Understand the active task requirements.
|
|
22
|
+
2. Read and follow the spec and research files listed in the task's `implement.jsonl`.
|
|
23
|
+
3. Implement the requested change using existing project patterns.
|
|
24
|
+
4. Run the relevant lint, typecheck, and focused tests available for the touched code.
|
|
25
|
+
5. Report files changed and verification results.
|
|
26
|
+
|
|
27
|
+
## Forbidden Operations
|
|
28
|
+
|
|
29
|
+
Do not run:
|
|
30
|
+
|
|
31
|
+
- `git commit`
|
|
32
|
+
- `git push`
|
|
33
|
+
- `git merge`
|
|
34
|
+
|
|
35
|
+
## Working Rules
|
|
36
|
+
|
|
37
|
+
- Read adjacent code and tests before editing.
|
|
38
|
+
- Keep changes scoped to the task.
|
|
39
|
+
- Do not revert unrelated user or concurrent changes.
|
|
40
|
+
- Fix root causes rather than masking symptoms.
|
|
41
|
+
- Prefer existing local helpers and platform patterns over new abstractions.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reasonix template module.
|
|
3
|
+
*
|
|
4
|
+
* Reasonix (DeepSeek-Reasonix) is a DeepSeek-native AI coding agent.
|
|
5
|
+
* It stores skills as `.reasonix/skills/<name>/SKILL.md` (Markdown + frontmatter).
|
|
6
|
+
*
|
|
7
|
+
* Subagent skills (trellis-implement, trellis-check) use `runAs: subagent`
|
|
8
|
+
* frontmatter so Reasonix spawns them as isolated subagent loops.
|
|
9
|
+
*/
|
|
10
|
+
import { type AgentTemplate } from "../template-utils.js";
|
|
11
|
+
/** Subagent skill definitions (trellis-implement, trellis-check). */
|
|
12
|
+
export declare function getAllAgents(): AgentTemplate[];
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/reasonix/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIhF,qEAAqE;AACrE,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reasonix template module.
|
|
3
|
+
*
|
|
4
|
+
* Reasonix (DeepSeek-Reasonix) is a DeepSeek-native AI coding agent.
|
|
5
|
+
* It stores skills as `.reasonix/skills/<name>/SKILL.md` (Markdown + frontmatter).
|
|
6
|
+
*
|
|
7
|
+
* Subagent skills (trellis-implement, trellis-check) use `runAs: subagent`
|
|
8
|
+
* frontmatter so Reasonix spawns them as isolated subagent loops.
|
|
9
|
+
*/
|
|
10
|
+
import { createTemplateReader } from "../template-utils.js";
|
|
11
|
+
const { listMdAgents } = createTemplateReader(import.meta.url);
|
|
12
|
+
/** Subagent skill definitions (trellis-implement, trellis-check). */
|
|
13
|
+
export function getAllAgents() {
|
|
14
|
+
return listMdAgents();
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/reasonix/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,oBAAoB,EAAsB,MAAM,sBAAsB,CAAC;AAEhF,MAAM,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/D,qEAAqE;AACrE,MAAM,UAAU,YAAY;IAC1B,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: check
|
|
3
|
+
description: |
|
|
4
|
+
Code quality auditor for the Trellis channel runtime. Reviews uncommitted diffs against task artifacts and specs, self-fixes issues, and reports verification results.
|
|
5
|
+
provider: claude
|
|
6
|
+
labels: [trellis, check]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Check Agent (channel runtime)
|
|
10
|
+
|
|
11
|
+
You are the Check Agent spawned by `trellis channel spawn --agent check` inside the Trellis channel runtime. You receive an `Active task: <path>` line in your inbox; use it to locate task artifacts on disk.
|
|
12
|
+
|
|
13
|
+
## Context
|
|
14
|
+
|
|
15
|
+
Before reviewing, read in this order:
|
|
16
|
+
|
|
17
|
+
1. `<task-path>/check.jsonl` if present — spec manifest curated for this turn; read every listed file
|
|
18
|
+
2. `<task-path>/prd.md` — requirements
|
|
19
|
+
3. `<task-path>/design.md` if present — technical design
|
|
20
|
+
4. `<task-path>/implement.md` if present — execution plan
|
|
21
|
+
5. `.trellis/spec/` — project-wide guidelines (load only what is relevant to the diff under review)
|
|
22
|
+
|
|
23
|
+
## Core Responsibilities
|
|
24
|
+
|
|
25
|
+
1. **Get the diff** — `git diff` / `git diff --staged` for uncommitted changes
|
|
26
|
+
2. **Review against task artifacts** — does the diff satisfy `prd.md` (and `design.md` / `implement.md` if present)?
|
|
27
|
+
3. **Review against specs** — naming, structure, type safety, error handling, conventions in `.trellis/spec/`
|
|
28
|
+
4. **Self-fix** — when an issue is mechanical and small, fix it directly with the editing tools you have
|
|
29
|
+
5. **Run verification** — project lint and typecheck on the changed scope
|
|
30
|
+
6. **Report** — concrete findings with `file:line` citations and what was fixed vs. what is open
|
|
31
|
+
|
|
32
|
+
## Forbidden Operations
|
|
33
|
+
|
|
34
|
+
- `git commit`
|
|
35
|
+
- `git push`
|
|
36
|
+
- `git merge`
|
|
37
|
+
|
|
38
|
+
The supervising main session owns commits. Report the post-fix state; do not commit on its behalf.
|
|
39
|
+
|
|
40
|
+
## Workflow
|
|
41
|
+
|
|
42
|
+
1. Run `git diff --name-only` and `git diff` to scope the changes
|
|
43
|
+
2. Read the task artifacts and relevant spec files
|
|
44
|
+
3. For each issue:
|
|
45
|
+
- If mechanical (lint nit, missing type, wrong import, dead branch) → fix in-place
|
|
46
|
+
- If a design/judgment issue → record and report, do not silently rewrite
|
|
47
|
+
4. Run the project's lint and typecheck on the changed scope after self-fixes
|
|
48
|
+
5. Report
|
|
49
|
+
|
|
50
|
+
## Report Format
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
## Self-Check Complete
|
|
54
|
+
|
|
55
|
+
### Files Checked
|
|
56
|
+
- <path>
|
|
57
|
+
|
|
58
|
+
### Issues Found and Fixed
|
|
59
|
+
1. `<file>:<line>` — <what was wrong> → <what you changed>
|
|
60
|
+
|
|
61
|
+
### Issues Not Fixed
|
|
62
|
+
- `<file>:<line>` — <issue> — <why deferred to the main session>
|
|
63
|
+
|
|
64
|
+
### Verification Results
|
|
65
|
+
- TypeCheck: <pass|fail|skipped + reason>
|
|
66
|
+
- Lint: <pass|fail|skipped + reason>
|
|
67
|
+
|
|
68
|
+
### Summary
|
|
69
|
+
Checked <N> files, found <X> issues, fixed <Y>, <X-Y> open.
|
|
70
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implement
|
|
3
|
+
description: |
|
|
4
|
+
Code implementation expert for the Trellis channel runtime. Understands specs and task artifacts, then implements features. No git commit allowed.
|
|
5
|
+
provider: claude
|
|
6
|
+
labels: [trellis, implement]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Implement Agent (channel runtime)
|
|
10
|
+
|
|
11
|
+
You are the Implement Agent spawned by `trellis channel spawn --agent implement` inside the Trellis channel runtime. You receive an `Active task: <path>` line in your inbox; use it to locate task artifacts on disk.
|
|
12
|
+
|
|
13
|
+
## Context
|
|
14
|
+
|
|
15
|
+
Before implementing, read in this order:
|
|
16
|
+
|
|
17
|
+
1. `<task-path>/implement.jsonl` if present — spec manifest curated for this turn; read every listed file
|
|
18
|
+
2. `<task-path>/prd.md` — requirements
|
|
19
|
+
3. `<task-path>/design.md` if present — technical design
|
|
20
|
+
4. `<task-path>/implement.md` if present — execution plan
|
|
21
|
+
5. `.trellis/spec/` — project-wide guidelines (load only what is relevant to the diff you are about to write)
|
|
22
|
+
|
|
23
|
+
## Core Responsibilities
|
|
24
|
+
|
|
25
|
+
1. **Understand specs** — read relevant spec files in `.trellis/spec/`
|
|
26
|
+
2. **Understand task artifacts** — read the artifacts listed above
|
|
27
|
+
3. **Implement features** — write code that follows specs and existing patterns
|
|
28
|
+
4. **Self-check** — run lint and typecheck on the changed scope before reporting
|
|
29
|
+
|
|
30
|
+
## Forbidden Operations
|
|
31
|
+
|
|
32
|
+
- `git commit`
|
|
33
|
+
- `git push`
|
|
34
|
+
- `git merge`
|
|
35
|
+
|
|
36
|
+
The supervising main session owns commits. Report what changed; do not commit on its behalf.
|
|
37
|
+
|
|
38
|
+
## Workflow
|
|
39
|
+
|
|
40
|
+
1. Read relevant specs based on task type and the files in `implement.jsonl` if present
|
|
41
|
+
2. Read the task's `prd.md`, `design.md` if present, and `implement.md` if present
|
|
42
|
+
3. Implement features following specs and existing patterns
|
|
43
|
+
4. Run the project's lint and typecheck commands on the changed scope
|
|
44
|
+
5. Report files touched, key decisions, and verification results back to the channel
|
|
45
|
+
|
|
46
|
+
## Code Standards
|
|
47
|
+
|
|
48
|
+
- Follow existing code patterns
|
|
49
|
+
- Don't add unnecessary abstractions
|
|
50
|
+
- Only do what the PRD asks for; no speculative scope expansion
|
|
51
|
+
- Surface uncertainty back to the channel rather than guessing
|
|
52
|
+
|
|
53
|
+
## Report Format
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
## Implementation Complete
|
|
57
|
+
|
|
58
|
+
### Files Modified
|
|
59
|
+
- <path> — <one-line description>
|
|
60
|
+
|
|
61
|
+
### Implementation Summary
|
|
62
|
+
1. <step>
|
|
63
|
+
2. <step>
|
|
64
|
+
|
|
65
|
+
### Verification Results
|
|
66
|
+
- Lint: <pass|fail|skipped + reason>
|
|
67
|
+
- TypeCheck: <pass|fail|skipped + reason>
|
|
68
|
+
|
|
69
|
+
### Open Questions
|
|
70
|
+
- <if any, otherwise omit>
|
|
71
|
+
```
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* │ ├── __init__.py
|
|
11
11
|
* │ ├── common/ # Shared utilities (Python)
|
|
12
12
|
* │ └── *.py # Main scripts (Python)
|
|
13
|
+
* ├── agents/ # Channel runtime agent definitions
|
|
14
|
+
* │ └── *.md # Loaded by `trellis channel spawn --agent <name>`
|
|
13
15
|
* ├── scripts-shell-archive/ # Archived shell scripts (for reference)
|
|
14
16
|
* ├── workflow.md # Workflow guide
|
|
15
17
|
* ├── config.yaml # Trellis configuration
|
|
@@ -45,8 +47,19 @@ export declare const addSessionScript: string;
|
|
|
45
47
|
export declare const workflowMdTemplate: string;
|
|
46
48
|
export declare const configYamlTemplate: string;
|
|
47
49
|
export declare const gitignoreTemplate: string;
|
|
50
|
+
export declare const implementAgentTemplate: string;
|
|
51
|
+
export declare const checkAgentTemplate: string;
|
|
48
52
|
/**
|
|
49
53
|
* Get all script templates as a map of relative path to content
|
|
50
54
|
*/
|
|
51
55
|
export declare function getAllScripts(): Map<string, string>;
|
|
56
|
+
/**
|
|
57
|
+
* Get all channel runtime agent definitions as a map of relative path
|
|
58
|
+
* (under `.trellis/agents/`) to content.
|
|
59
|
+
*
|
|
60
|
+
* Consumed by `trellis init` (to dispatch on first install) and by
|
|
61
|
+
* `trellis update` (to backfill missing files and surface conflicts on edited
|
|
62
|
+
* ones via the standard hash machinery).
|
|
63
|
+
*/
|
|
64
|
+
export declare function getAllAgents(): Map<string, string>;
|
|
52
65
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAcH,eAAO,MAAM,WAAW,QAAsC,CAAC;AAG/D,eAAO,MAAM,UAAU,QAA6C,CAAC;AACrE,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,eAAe,QAA8C,CAAC;AAC3E,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAC9E,eAAO,MAAM,eAAe,QAA+C,CAAC;AAC5E,eAAO,MAAM,eAAe,QAA+C,CAAC;AAC5E,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAC9E,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAC9E,eAAO,MAAM,YAAY,QAA2C,CAAC;AACrE,eAAO,MAAM,QAAQ,QAAuC,CAAC;AAC7D,eAAO,MAAM,SAAS,QAAwC,CAAC;AAC/D,eAAO,MAAM,SAAS,QAAwC,CAAC;AAC/D,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,WAAW,QAA0C,CAAC;AACnE,eAAO,MAAM,iBAAiB,QAAiD,CAAC;AAChF,eAAO,MAAM,eAAe,QAA+C,CAAC;AAC5E,eAAO,MAAM,oBAAoB,QAEhC,CAAC;AACF,eAAO,MAAM,qBAAqB,QAEjC,CAAC;AACF,eAAO,MAAM,mBAAmB,QAE/B,CAAC;AACF,eAAO,MAAM,mBAAmB,QAE/B,CAAC;AACF,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAG9E,eAAO,MAAM,kBAAkB,QAA2C,CAAC;AAC3E,eAAO,MAAM,mBAAmB,QAA4C,CAAC;AAC7E,eAAO,MAAM,UAAU,QAAkC,CAAC;AAC1D,eAAO,MAAM,gBAAgB,QAAyC,CAAC;AACvE,eAAO,MAAM,gBAAgB,QAAyC,CAAC;AAGvE,eAAO,MAAM,kBAAkB,QAA8B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,QAA8B,CAAC;AAC9D,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAM/D,eAAO,MAAM,sBAAsB,QAAsC,CAAC;AAC1E,eAAO,MAAM,kBAAkB,QAAkC,CAAC;AAElE;;GAEG;AACH,wBAAgB,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCnD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAKlD"}
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* │ ├── __init__.py
|
|
11
11
|
* │ ├── common/ # Shared utilities (Python)
|
|
12
12
|
* │ └── *.py # Main scripts (Python)
|
|
13
|
+
* ├── agents/ # Channel runtime agent definitions
|
|
14
|
+
* │ └── *.md # Loaded by `trellis channel spawn --agent <name>`
|
|
13
15
|
* ├── scripts-shell-archive/ # Archived shell scripts (for reference)
|
|
14
16
|
* ├── workflow.md # Workflow guide
|
|
15
17
|
* ├── config.yaml # Trellis configuration
|
|
@@ -57,6 +59,12 @@ export const addSessionScript = readTemplate("scripts/add_session.py");
|
|
|
57
59
|
export const workflowMdTemplate = readTemplate("workflow.md");
|
|
58
60
|
export const configYamlTemplate = readTemplate("config.yaml");
|
|
59
61
|
export const gitignoreTemplate = readTemplate("gitignore.txt");
|
|
62
|
+
// Channel runtime agent definitions (loaded by
|
|
63
|
+
// `packages/cli/src/commands/channel/agent-loader.ts` from `.trellis/agents/`).
|
|
64
|
+
// These are platform-agnostic Trellis runtime files dispatched at `trellis init`
|
|
65
|
+
// and refreshed by `trellis update`.
|
|
66
|
+
export const implementAgentTemplate = readTemplate("agents/implement.md");
|
|
67
|
+
export const checkAgentTemplate = readTemplate("agents/check.md");
|
|
60
68
|
/**
|
|
61
69
|
* Get all script templates as a map of relative path to content
|
|
62
70
|
*/
|
|
@@ -94,4 +102,18 @@ export function getAllScripts() {
|
|
|
94
102
|
scripts.set("add_session.py", addSessionScript);
|
|
95
103
|
return scripts;
|
|
96
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Get all channel runtime agent definitions as a map of relative path
|
|
107
|
+
* (under `.trellis/agents/`) to content.
|
|
108
|
+
*
|
|
109
|
+
* Consumed by `trellis init` (to dispatch on first install) and by
|
|
110
|
+
* `trellis update` (to backfill missing files and surface conflicts on edited
|
|
111
|
+
* ones via the standard hash machinery).
|
|
112
|
+
*/
|
|
113
|
+
export function getAllAgents() {
|
|
114
|
+
const agents = new Map();
|
|
115
|
+
agents.set("implement.md", implementAgentTemplate);
|
|
116
|
+
agents.set("check.md", checkAgentTemplate);
|
|
117
|
+
return agents;
|
|
118
|
+
}
|
|
97
119
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/trellis/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/ai-tools.d.ts
CHANGED
|
@@ -6,23 +6,23 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* Supported AI coding tools
|
|
8
8
|
*/
|
|
9
|
-
export type AITool = "claude-code" | "cursor" | "opencode" | "codex" | "kilo" | "kiro" | "gemini" | "antigravity" | "windsurf" | "qoder" | "codebuddy" | "copilot" | "droid" | "pi";
|
|
9
|
+
export type AITool = "claude-code" | "cursor" | "opencode" | "codex" | "kilo" | "kiro" | "gemini" | "antigravity" | "windsurf" | "qoder" | "codebuddy" | "copilot" | "droid" | "pi" | "reasonix";
|
|
10
10
|
/**
|
|
11
11
|
* Template directory categories
|
|
12
12
|
*/
|
|
13
|
-
export type TemplateDir = "common" | "claude" | "cursor" | "opencode" | "codex" | "kilo" | "kiro" | "gemini" | "antigravity" | "windsurf" | "qoder" | "codebuddy" | "copilot" | "droid" | "pi";
|
|
13
|
+
export type TemplateDir = "common" | "claude" | "cursor" | "opencode" | "codex" | "kilo" | "kiro" | "gemini" | "antigravity" | "windsurf" | "qoder" | "codebuddy" | "copilot" | "droid" | "pi" | "reasonix";
|
|
14
14
|
/**
|
|
15
15
|
* CLI flag names for platform selection (e.g., --claude, --cursor, --kilo, --kiro, --gemini, --antigravity)
|
|
16
16
|
* Must match keys in InitOptions (src/commands/init.ts)
|
|
17
17
|
*/
|
|
18
|
-
export type CliFlag = "claude" | "cursor" | "opencode" | "codex" | "kilo" | "kiro" | "gemini" | "antigravity" | "windsurf" | "qoder" | "codebuddy" | "copilot" | "droid" | "pi";
|
|
18
|
+
export type CliFlag = "claude" | "cursor" | "opencode" | "codex" | "kilo" | "kiro" | "gemini" | "antigravity" | "windsurf" | "qoder" | "codebuddy" | "copilot" | "droid" | "pi" | "reasonix";
|
|
19
19
|
/**
|
|
20
20
|
* Template context for placeholder resolution.
|
|
21
21
|
* Controls how common templates are rendered per platform.
|
|
22
22
|
*/
|
|
23
23
|
export interface TemplateContext {
|
|
24
24
|
/** Prefix for cross-referencing other commands/skills */
|
|
25
|
-
cmdRefPrefix: "/trellis:" | "/trellis-" | "$" | "/";
|
|
25
|
+
cmdRefPrefix: "/trellis:" | "/trellis-" | "$" | "/" | "/skill trellis-";
|
|
26
26
|
/** Description of AI executor actions shown in role tables */
|
|
27
27
|
executorAI: "Bash scripts or Task calls" | "Bash scripts or tool calls" | "Bash scripts or file reads";
|
|
28
28
|
/** Label for user-invocable actions */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-tools.d.ts","sourceRoot":"","sources":["../../src/types/ai-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,MAAM,GACd,aAAa,GACb,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,aAAa,GACb,UAAU,GACV,OAAO,GACP,WAAW,GACX,SAAS,GACT,OAAO,GACP,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-tools.d.ts","sourceRoot":"","sources":["../../src/types/ai-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,MAAM,GACd,aAAa,GACb,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,aAAa,GACb,UAAU,GACV,OAAO,GACP,WAAW,GACX,SAAS,GACT,OAAO,GACP,IAAI,GACJ,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,aAAa,GACb,UAAU,GACV,OAAO,GACP,WAAW,GACX,SAAS,GACT,OAAO,GACP,IAAI,GACJ,UAAU,CAAC;AAEf;;;GAGG;AACH,MAAM,MAAM,OAAO,GACf,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,aAAa,GACb,UAAU,GACV,OAAO,GACP,WAAW,GACX,SAAS,GACT,OAAO,GACP,IAAI,GACJ,UAAU,CAAC;AAEf;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,YAAY,EAAE,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,iBAAiB,CAAC;IACxE,8DAA8D;IAC9D,UAAU,EACN,4BAA4B,GAC5B,4BAA4B,GAC5B,4BAA4B,CAAC;IACjC,uCAAuC;IACvC,eAAe,EAAE,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IACvE,kEAAkE;IAClE,YAAY,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,cAAc,EAAE,OAAO,CAAC;IACxB,+EAA+E;IAC/E,cAAc,EAAE,OAAO,CAAC;IACxB,sEAAsE;IACtE,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA4PjD,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAExD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAUtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAE3D"}
|
package/dist/types/ai-tools.js
CHANGED
|
@@ -250,6 +250,22 @@ export const AI_TOOLS = {
|
|
|
250
250
|
cliFlag: "pi",
|
|
251
251
|
},
|
|
252
252
|
},
|
|
253
|
+
reasonix: {
|
|
254
|
+
name: "Reasonix",
|
|
255
|
+
templateDirs: ["common", "reasonix"],
|
|
256
|
+
configDir: ".reasonix",
|
|
257
|
+
cliFlag: "reasonix",
|
|
258
|
+
defaultChecked: false,
|
|
259
|
+
hasPythonHooks: false,
|
|
260
|
+
templateContext: {
|
|
261
|
+
cmdRefPrefix: "/skill trellis-",
|
|
262
|
+
executorAI: "Bash scripts or tool calls",
|
|
263
|
+
userActionLabel: "Skills",
|
|
264
|
+
agentCapable: true,
|
|
265
|
+
hasHooks: false,
|
|
266
|
+
cliFlag: "reasonix",
|
|
267
|
+
},
|
|
268
|
+
},
|
|
253
269
|
};
|
|
254
270
|
/**
|
|
255
271
|
* Get the configuration for a specific AI tool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-tools.js","sourceRoot":"","sources":["../../src/types/ai-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"ai-tools.js","sourceRoot":"","sources":["../../src/types/ai-tools.ts"],"names":[],"mappings":"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"}
|