@mindfoldhq/trellis 0.5.0-beta.9 → 0.5.0-rc.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.
- package/README.md +60 -95
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +117 -117
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +289 -33
- package/dist/commands/update.js.map +1 -1
- package/dist/configurators/antigravity.d.ts.map +1 -1
- package/dist/configurators/antigravity.js +2 -8
- package/dist/configurators/antigravity.js.map +1 -1
- package/dist/configurators/claude.d.ts.map +1 -1
- package/dist/configurators/claude.js +4 -10
- package/dist/configurators/claude.js.map +1 -1
- package/dist/configurators/codebuddy.d.ts.map +1 -1
- package/dist/configurators/codebuddy.js +3 -3
- package/dist/configurators/codebuddy.js.map +1 -1
- package/dist/configurators/codex.d.ts.map +1 -1
- package/dist/configurators/codex.js +5 -13
- package/dist/configurators/codex.js.map +1 -1
- package/dist/configurators/copilot.d.ts.map +1 -1
- package/dist/configurators/copilot.js +5 -19
- package/dist/configurators/copilot.js.map +1 -1
- package/dist/configurators/cursor.d.ts.map +1 -1
- package/dist/configurators/cursor.js +3 -3
- package/dist/configurators/cursor.js.map +1 -1
- package/dist/configurators/droid.d.ts.map +1 -1
- package/dist/configurators/droid.js +3 -3
- package/dist/configurators/droid.js.map +1 -1
- package/dist/configurators/gemini.d.ts.map +1 -1
- package/dist/configurators/gemini.js +3 -5
- package/dist/configurators/gemini.js.map +1 -1
- package/dist/configurators/index.d.ts.map +1 -1
- package/dist/configurators/index.js +37 -49
- package/dist/configurators/index.js.map +1 -1
- package/dist/configurators/kilo.d.ts.map +1 -1
- package/dist/configurators/kilo.js +2 -8
- package/dist/configurators/kilo.js.map +1 -1
- package/dist/configurators/kiro.d.ts.map +1 -1
- package/dist/configurators/kiro.js +3 -3
- package/dist/configurators/kiro.js.map +1 -1
- package/dist/configurators/opencode.d.ts.map +1 -1
- package/dist/configurators/opencode.js +7 -4
- package/dist/configurators/opencode.js.map +1 -1
- package/dist/configurators/pi.d.ts +3 -0
- package/dist/configurators/pi.d.ts.map +1 -0
- package/dist/configurators/pi.js +44 -0
- package/dist/configurators/pi.js.map +1 -0
- package/dist/configurators/qoder.d.ts.map +1 -1
- package/dist/configurators/qoder.js +3 -5
- package/dist/configurators/qoder.js.map +1 -1
- package/dist/configurators/shared.d.ts +28 -6
- package/dist/configurators/shared.d.ts.map +1 -1
- package/dist/configurators/shared.js +47 -15
- package/dist/configurators/shared.js.map +1 -1
- package/dist/configurators/windsurf.d.ts.map +1 -1
- package/dist/configurators/windsurf.js +2 -8
- package/dist/configurators/windsurf.js.map +1 -1
- package/dist/constants/paths.d.ts +2 -0
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +2 -0
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.5.0-beta.0.json +2 -0
- package/dist/migrations/manifests/0.5.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.15.json +116 -0
- package/dist/migrations/manifests/0.5.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.17.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.18.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.19.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.5.json +2 -0
- package/dist/migrations/manifests/0.5.0-rc.0.json +9 -0
- package/dist/templates/claude/agents/trellis-research.md +1 -1
- package/dist/templates/claude/settings.json +0 -4
- package/dist/templates/codebuddy/agents/trellis-research.md +1 -1
- package/dist/templates/codex/agents/trellis-research.toml +3 -2
- package/dist/templates/codex/hooks/session-start.py +126 -26
- package/dist/templates/codex/skills/finish-work/SKILL.md +41 -109
- package/dist/templates/codex/skills/start/SKILL.md +12 -9
- package/dist/templates/common/bundled-skills/trellis-meta/SKILL.md +73 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/add-project-local-conventions.md +83 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-agents.md +54 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-context-loading.md +81 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-hooks.md +57 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +78 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-spec-structure.md +83 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-task-lifecycle.md +90 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-workflow.md +64 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/overview.md +55 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/context-injection.md +68 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/generated-files.md +80 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/overview.md +51 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/spec-system.md +102 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +101 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +75 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workspace-memory.md +71 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/agents.md +79 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/hooks-and-settings.md +69 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/overview.md +59 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/platform-map.md +74 -0
- package/dist/templates/common/bundled-skills/trellis-meta/references/platform-files/skills-and-commands.md +83 -0
- package/dist/templates/common/commands/continue.md +9 -5
- package/dist/templates/common/commands/finish-work.md +34 -10
- package/dist/templates/common/index.d.ts +22 -2
- package/dist/templates/common/index.d.ts.map +1 -1
- package/dist/templates/common/index.js +53 -4
- package/dist/templates/common/index.js.map +1 -1
- package/dist/templates/common/skills/brainstorm.md +3 -0
- package/dist/templates/copilot/hooks/session-start.py +127 -30
- package/dist/templates/copilot/prompts/finish-work.prompt.md +44 -112
- package/dist/templates/copilot/prompts/start.prompt.md +12 -9
- package/dist/templates/cursor/agents/trellis-check.md +1 -1
- package/dist/templates/cursor/agents/trellis-implement.md +1 -1
- package/dist/templates/cursor/agents/trellis-research.md +2 -2
- package/dist/templates/cursor/hooks.json +7 -1
- package/dist/templates/droid/droids/trellis-research.md +1 -1
- package/dist/templates/extract.d.ts +6 -0
- package/dist/templates/extract.d.ts.map +1 -1
- package/dist/templates/extract.js +14 -0
- package/dist/templates/extract.js.map +1 -1
- package/dist/templates/gemini/agents/trellis-research.md +1 -1
- package/dist/templates/kiro/agents/trellis-research.json +1 -1
- package/dist/templates/markdown/agents.md +19 -12
- package/dist/templates/markdown/gitignore.txt +3 -0
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +24 -0
- package/dist/templates/opencode/agents/trellis-check.md +1 -1
- package/dist/templates/opencode/agents/trellis-implement.md +7 -4
- package/dist/templates/opencode/agents/trellis-research.md +2 -2
- package/dist/templates/opencode/lib/trellis-context.js +100 -13
- package/dist/templates/opencode/plugins/inject-subagent-context.js +70 -5
- package/dist/templates/opencode/plugins/inject-workflow-state.js +38 -58
- package/dist/templates/opencode/plugins/session-start.js +76 -31
- package/dist/templates/pi/agents/trellis-check.md +28 -0
- package/dist/templates/pi/agents/trellis-implement.md +33 -0
- package/dist/templates/pi/agents/trellis-research.md +25 -0
- package/dist/templates/pi/extensions/trellis/index.ts.txt +997 -0
- package/dist/templates/pi/index.d.ts +5 -0
- package/dist/templates/pi/index.d.ts.map +1 -0
- package/dist/templates/pi/index.js +12 -0
- package/dist/templates/pi/index.js.map +1 -0
- package/dist/templates/pi/settings.json +12 -0
- package/dist/templates/qoder/agents/trellis-research.md +1 -1
- package/dist/templates/shared-hooks/index.d.ts +31 -0
- package/dist/templates/shared-hooks/index.d.ts.map +1 -1
- package/dist/templates/shared-hooks/index.js +59 -0
- package/dist/templates/shared-hooks/index.js.map +1 -1
- package/dist/templates/shared-hooks/inject-shell-session-context.py +180 -0
- package/dist/templates/shared-hooks/inject-subagent-context.py +156 -27
- package/dist/templates/shared-hooks/inject-workflow-state.py +85 -105
- package/dist/templates/shared-hooks/session-start.py +222 -36
- package/dist/templates/trellis/gitignore.txt +3 -0
- package/dist/templates/trellis/index.d.ts +1 -0
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +2 -0
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/common/__init__.py +8 -0
- package/dist/templates/trellis/scripts/common/active_task.py +593 -0
- package/dist/templates/trellis/scripts/common/cli_adapter.py +72 -14
- package/dist/templates/trellis/scripts/common/paths.py +61 -58
- package/dist/templates/trellis/scripts/common/session_context.py +12 -0
- package/dist/templates/trellis/scripts/common/task_context.py +27 -194
- package/dist/templates/trellis/scripts/common/task_store.py +102 -26
- package/dist/templates/trellis/scripts/common/tasks.py +4 -1
- package/dist/templates/trellis/scripts/common/workflow_phase.py +15 -3
- package/dist/templates/trellis/scripts/task.py +99 -34
- package/dist/templates/trellis/workflow.md +332 -69
- package/dist/types/ai-tools.d.ts +12 -3
- package/dist/types/ai-tools.d.ts.map +1 -1
- package/dist/types/ai-tools.js +29 -0
- package/dist/types/ai-tools.js.map +1 -1
- package/dist/utils/file-writer.d.ts.map +1 -1
- package/dist/utils/file-writer.js +7 -2
- package/dist/utils/file-writer.js.map +1 -1
- package/dist/utils/posix.d.ts +13 -0
- package/dist/utils/posix.d.ts.map +1 -0
- package/dist/utils/posix.js +15 -0
- package/dist/utils/posix.js.map +1 -0
- package/dist/utils/template-fetcher.d.ts +22 -6
- package/dist/utils/template-fetcher.d.ts.map +1 -1
- package/dist/utils/template-fetcher.js +405 -27
- package/dist/utils/template-fetcher.js.map +1 -1
- package/dist/utils/template-hash.d.ts +22 -3
- package/dist/utils/template-hash.d.ts.map +1 -1
- package/dist/utils/template-hash.js +99 -19
- package/dist/utils/template-hash.js.map +1 -1
- package/package.json +7 -7
- package/dist/templates/shared-hooks/statusline.py +0 -218
package/README.md
CHANGED
|
@@ -7,16 +7,16 @@
|
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<strong>
|
|
11
|
-
<sub>
|
|
10
|
+
<strong>Make AI coding reliable at team scale.</strong><br/>
|
|
11
|
+
<sub>A team AI coding harness for progressive specs, custom workflows, task context, and memory across Claude Code, Cursor, Codex, OpenCode, Pi Agent, and more.</sub>
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
15
15
|
<a href="./README_CN.md">简体中文</a> •
|
|
16
16
|
<a href="https://docs.trytrellis.app/">Docs</a> •
|
|
17
|
-
<a href="https://docs.trytrellis.app/
|
|
18
|
-
<a href="https://docs.trytrellis.app/
|
|
19
|
-
<a href="https://docs.trytrellis.app/
|
|
17
|
+
<a href="https://docs.trytrellis.app/start/install-and-first-task">Quick Start</a> •
|
|
18
|
+
<a href="https://docs.trytrellis.app/advanced/multi-platform">Supported Platforms</a> •
|
|
19
|
+
<a href="https://docs.trytrellis.app/start/real-world-scenarios">Use Cases</a>
|
|
20
20
|
</p>
|
|
21
21
|
|
|
22
22
|
<p align="center">
|
|
@@ -36,128 +36,97 @@
|
|
|
36
36
|
<img src="assets/trellis-demo.gif" alt="Trellis workflow demo" width="100%">
|
|
37
37
|
</p>
|
|
38
38
|
|
|
39
|
-
##
|
|
39
|
+
## What is Trellis?
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
| --- | --- |
|
|
43
|
-
| **Auto-injected specs** | Write conventions once in `.trellis/spec/`, then let Trellis inject the relevant context into each session instead of repeating yourself. |
|
|
44
|
-
| **Task-centered workflow** | Keep PRDs, implementation context, review context, and task status in `.trellis/tasks/` so AI work stays structured. |
|
|
45
|
-
| **Parallel agent execution** | Run multiple AI tasks side by side with git worktrees instead of turning one branch into a traffic jam. |
|
|
46
|
-
| **Project memory** | Journals in `.trellis/workspace/` preserve what happened last time, so each new session starts with real context. |
|
|
47
|
-
| **Team-shared standards** | Specs live in the repo, so one person’s hard-won workflow or rule can benefit the whole team. |
|
|
48
|
-
| **Multi-platform setup** | Bring the same Trellis structure to 13 AI coding platforms instead of rebuilding your workflow per tool. |
|
|
41
|
+
Trellis is a built-in AI coding harness for teams. It turns the huge system prompt you would normally put in `CLAUDE.md`, `AGENTS.md`, or `.cursorrules` into a progressive wiki of specs, tasks, workflows, and journals that agents load only when needed.
|
|
49
42
|
|
|
50
|
-
|
|
43
|
+
It gives Claude Code, Cursor, Codex, OpenCode, Pi Agent, and other agents the same project source of truth: team standards, task decisions, runbooks, and session memory, without stuffing the whole codebase into every prompt. Trellis is used by individual builders, open-source maintainers, teams inside tech giants, top university labs, and public-company engineering departments working on production monorepos with hundreds of thousands of lines of code.
|
|
51
44
|
|
|
52
|
-
|
|
53
|
-
- **Python** ≥ 3.10 (required for hooks and automation scripts)
|
|
45
|
+
## How it works
|
|
54
46
|
|
|
55
|
-
|
|
47
|
+
Trellis installs a `.trellis/` directory into your repository and generates the right entry points for each AI coding platform you use.
|
|
56
48
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
trellis
|
|
63
|
-
|
|
64
|
-
# 3. Or initialize with the platforms you actually use
|
|
65
|
-
trellis init --cursor --opencode --codex -u your-name
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
- `-u your-name` creates `.trellis/workspace/your-name/` for personal journals and session continuity.
|
|
69
|
-
- Platform flags can be mixed and matched. Current options include `--cursor`, `--opencode`, `--iflow`, `--codex`, `--kilo`, `--kiro`, `--gemini`, `--antigravity`, `--windsurf`, `--qoder`, `--codebuddy`, `--copilot`, and `--droid`.
|
|
70
|
-
- For platform-specific setup, entry commands, and upgrade paths, use the docs:
|
|
71
|
-
[Quick Start](https://docs.trytrellis.app/guide/ch02-quick-start) •
|
|
72
|
-
[Supported Platforms](https://docs.trytrellis.app/guide/ch13-multi-platform) •
|
|
73
|
-
[Real-World Scenarios](https://docs.trytrellis.app/guide/ch08-real-world)
|
|
49
|
+
| Layer | Purpose |
|
|
50
|
+
| ---------------------- | -------------------------------------------------------------------------------------- |
|
|
51
|
+
| `.trellis/spec/` | Team standards and coding guidelines that agents can load automatically. |
|
|
52
|
+
| `.trellis/tasks/` | PRDs, task context, status, review notes, and acceptance criteria. |
|
|
53
|
+
| `.trellis/workspace/` | Developer-level journals, decisions, and handoff notes for session continuity. |
|
|
54
|
+
| `.trellis/workflow.md` | The shared lifecycle for planning, building, checking, finishing, and learning. |
|
|
55
|
+
| Platform adapters | Generated commands, hooks, skills, prompts, workflows, and agent files for your tools. |
|
|
74
56
|
|
|
75
|
-
|
|
57
|
+
The core loop is short:
|
|
76
58
|
|
|
77
|
-
|
|
59
|
+
1. Capture the task as a PRD.
|
|
60
|
+
2. Inject the relevant project specs.
|
|
61
|
+
3. Let the agent implement inside a clear boundary.
|
|
62
|
+
4. Run checks before handoff.
|
|
63
|
+
5. Promote reusable lessons back into specs.
|
|
64
|
+
6. Record the session so the next agent starts with the decisions and context it needs.
|
|
78
65
|
|
|
79
|
-
|
|
66
|
+
For the deeper product model, see the [docs](https://docs.trytrellis.app/) and [real-world scenarios](https://docs.trytrellis.app/start/real-world-scenarios).
|
|
80
67
|
|
|
81
|
-
|
|
68
|
+
## Install
|
|
82
69
|
|
|
83
|
-
|
|
70
|
+
Prerequisites:
|
|
84
71
|
|
|
85
|
-
|
|
72
|
+
- **Node.js** >= 18
|
|
73
|
+
- **Python** >= 3.9 for hooks and automation scripts
|
|
86
74
|
|
|
87
|
-
|
|
75
|
+
Install Trellis:
|
|
88
76
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
If your team uses more than one AI coding tool, Trellis gives you one shared structure for specs, tasks, and process. The platform-specific wiring changes, but the workflow stays recognizable.
|
|
92
|
-
|
|
93
|
-
## How It Works
|
|
94
|
-
|
|
95
|
-
Trellis keeps the core workflow in `.trellis/` and generates the platform-specific entry points you need around it.
|
|
96
|
-
|
|
97
|
-
```text
|
|
98
|
-
.trellis/
|
|
99
|
-
├── spec/ # Project standards, patterns, and guides
|
|
100
|
-
├── tasks/ # Task PRDs, context files, and status
|
|
101
|
-
├── workspace/ # Journals and developer-specific continuity
|
|
102
|
-
├── workflow.md # Shared workflow rules
|
|
103
|
-
└── scripts/ # Utilities that power the workflow
|
|
77
|
+
```bash
|
|
78
|
+
npm install -g @mindfoldhq/trellis@beta
|
|
104
79
|
```
|
|
105
80
|
|
|
106
|
-
|
|
81
|
+
Initialize a repository:
|
|
107
82
|
|
|
108
|
-
|
|
83
|
+
```bash
|
|
84
|
+
# Start Trellis and create a developer workspace
|
|
85
|
+
trellis init -u your-name
|
|
86
|
+
```
|
|
109
87
|
|
|
110
|
-
|
|
111
|
-
2. Start or refine work from a task PRD.
|
|
112
|
-
3. Let Trellis inject the right context for the current task.
|
|
113
|
-
4. Use checks, journals, and worktrees to keep quality and continuity intact.
|
|
88
|
+
See the [Quick Start](https://docs.trytrellis.app/start/install-and-first-task) and [Supported Platforms](https://docs.trytrellis.app/advanced/multi-platform) guides for setup details.
|
|
114
89
|
|
|
115
|
-
##
|
|
90
|
+
## First task
|
|
116
91
|
|
|
117
|
-
|
|
92
|
+
Trellis 0.5 is skill-first. On hook-capable or extension-capable platforms, session context loads automatically. On platforms that need a manual entry point, start with:
|
|
118
93
|
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
trellis init --registry https://github.com/your-org/your-spec-templates
|
|
94
|
+
```text
|
|
95
|
+
/start or /trellis:start # Load project context
|
|
122
96
|
```
|
|
123
97
|
|
|
124
|
-
|
|
98
|
+
Then describe the task in natural language. Trellis routes the work through skills for brainstorming, spec loading, implementation checks, and knowledge capture. Use `continue` to advance the current task and `finish-work` after human testing and commit.
|
|
125
99
|
|
|
126
|
-
##
|
|
100
|
+
## Learn more
|
|
127
101
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
102
|
+
| Need | Link |
|
|
103
|
+
| ------------------------------- | ------------------------------------------------------------------------------ |
|
|
104
|
+
| Install Trellis in a repo | [Quick Start](https://docs.trytrellis.app/start/install-and-first-task) |
|
|
105
|
+
| Understand platform differences | [Supported Platforms](https://docs.trytrellis.app/advanced/multi-platform) |
|
|
106
|
+
| See the workflow in practice | [Real-World Scenarios](https://docs.trytrellis.app/start/real-world-scenarios) |
|
|
107
|
+
| Start from spec templates | [Spec Templates](https://docs.trytrellis.app/templates/specs-index) |
|
|
108
|
+
| Track releases | [Changelog](https://docs.trytrellis.app/changelog/v0.5.0-beta.16) |
|
|
133
109
|
|
|
134
110
|
## FAQ
|
|
135
111
|
|
|
136
112
|
<details>
|
|
137
|
-
<summary><strong>How is
|
|
113
|
+
<summary><strong>How is Trellis different from <code>CLAUDE.md</code>, <code>AGENTS.md</code>, or <code>.cursorrules</code>?</strong></summary>
|
|
138
114
|
|
|
139
|
-
Those files are useful, but they tend to become monolithic. Trellis adds
|
|
115
|
+
Those files are useful entry points, but they tend to become monolithic. Trellis adds scoped specs, task PRDs, workflow gates, workspace memory, and platform-aware generated files around them.
|
|
140
116
|
|
|
141
117
|
</details>
|
|
142
118
|
|
|
143
119
|
<details>
|
|
144
120
|
<summary><strong>Is Trellis only for Claude Code?</strong></summary>
|
|
145
121
|
|
|
146
|
-
No. Trellis
|
|
147
|
-
|
|
148
|
-
</details>
|
|
149
|
-
|
|
150
|
-
<details>
|
|
151
|
-
<summary><strong>Do I have to write every spec file manually?</strong></summary>
|
|
152
|
-
|
|
153
|
-
No. Many teams start by letting AI draft specs from existing code and then tighten the important parts by hand. Trellis works best when you keep the high-signal rules explicit and versioned.
|
|
122
|
+
No. Trellis is a project layer that works across multiple coding agents and IDEs.
|
|
154
123
|
|
|
155
124
|
</details>
|
|
156
125
|
|
|
157
126
|
<details>
|
|
158
|
-
<summary><strong>
|
|
127
|
+
<summary><strong>Is Trellis for solo developers or teams?</strong></summary>
|
|
159
128
|
|
|
160
|
-
|
|
129
|
+
Both. Solo developers use it for memory and repeatable workflow. Teams get the larger benefit: shared standards, task boundaries, reviewable context, and platform portability.
|
|
161
130
|
|
|
162
131
|
</details>
|
|
163
132
|
|
|
@@ -167,14 +136,10 @@ Yes. Personal workspace journals stay separate per developer, while shared specs
|
|
|
167
136
|
|
|
168
137
|
## Community & Resources
|
|
169
138
|
|
|
170
|
-
- [Official Docs](https://docs.trytrellis.app/)
|
|
171
|
-
- [
|
|
172
|
-
- [
|
|
173
|
-
- [
|
|
174
|
-
- [Changelog](https://docs.trytrellis.app/changelog/v0.3.6) - Track current releases and updates
|
|
175
|
-
- [Tech Blog](https://docs.trytrellis.app/blog) - Product thinking and technical writeups
|
|
176
|
-
- [GitHub Issues](https://github.com/mindfold-ai/Trellis/issues) - Report bugs or request features
|
|
177
|
-
- [Discord](https://discord.com/invite/tWcCZ3aRHc) - Join the community
|
|
139
|
+
- [Official Docs](https://docs.trytrellis.app/)
|
|
140
|
+
- [GitHub Issues](https://github.com/mindfold-ai/Trellis/issues)
|
|
141
|
+
- [Discord](https://discord.com/invite/tWcCZ3aRHc)
|
|
142
|
+
- [Tech Blog](https://docs.trytrellis.app/blog)
|
|
178
143
|
|
|
179
144
|
<p align="center">
|
|
180
145
|
<a href="https://github.com/mindfold-ai/Trellis">Official Repository</a> •
|
package/dist/cli/index.js
CHANGED
|
@@ -56,6 +56,7 @@ program
|
|
|
56
56
|
.option("--codebuddy", "Include CodeBuddy commands")
|
|
57
57
|
.option("--copilot", "Include GitHub Copilot hooks")
|
|
58
58
|
.option("--droid", "Include Factory Droid commands")
|
|
59
|
+
.option("--pi", "Include Pi Agent extension assets")
|
|
59
60
|
.option("-y, --yes", "Skip prompts and use defaults")
|
|
60
61
|
.option("-u, --user <name>", "Initialize developer identity with specified name")
|
|
61
62
|
.option("-f, --force", "Overwrite existing files without asking")
|
|
@@ -72,6 +73,9 @@ program
|
|
|
72
73
|
}
|
|
73
74
|
catch (error) {
|
|
74
75
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : error);
|
|
76
|
+
if (process.env.DEBUG || process.env.TRELLIS_DEBUG) {
|
|
77
|
+
console.error(error instanceof Error ? error.stack : error);
|
|
78
|
+
}
|
|
75
79
|
process.exit(1);
|
|
76
80
|
}
|
|
77
81
|
});
|
|
@@ -97,6 +101,9 @@ program
|
|
|
97
101
|
}
|
|
98
102
|
catch (error) {
|
|
99
103
|
console.error(chalk.red("Error:"), error instanceof Error ? error.message : error);
|
|
104
|
+
if (process.env.DEBUG || process.env.TRELLIS_DEBUG) {
|
|
105
|
+
console.error(error instanceof Error ? error.stack : error);
|
|
106
|
+
}
|
|
100
107
|
process.exit(1);
|
|
101
108
|
}
|
|
102
109
|
});
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,uFAAuF;AACvF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAEjC;;GAEG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO;IAExC,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC;IAC3B,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE/D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,+CAA+C;QAC/C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,mCAAmC,cAAc,MAAM,UAAU,EAAE,CACpE,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QAC1B,iDAAiD;QACjD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,mBAAmB,UAAU,4BAA4B,cAAc,GAAG,CAC3E,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,YAAY,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC1B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IACtD,eAAe,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CACV,6EAA6E,CAC9E;KACA,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,2BAA2B,CAAC,CAAC;AAElE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC7C,MAAM,CAAC,UAAU,EAAE,8BAA8B,CAAC;KAClD,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;KACjD,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;KACzC,MAAM,CAAC,QAAQ,EAAE,2BAA2B,CAAC;KAC7C,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;KAC5C,MAAM,CAAC,UAAU,EAAE,6BAA6B,CAAC;KACjD,MAAM,CAAC,eAAe,EAAE,+BAA+B,CAAC;KACxD,MAAM,CAAC,YAAY,EAAE,4BAA4B,CAAC;KAClD,MAAM,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC3C,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAAC;KACnD,MAAM,CAAC,WAAW,EAAE,8BAA8B,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CACL,mBAAmB,EACnB,mDAAmD,CACpD;KACA,MAAM,CAAC,aAAa,EAAE,yCAAyC,CAAC;KAChE,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;KACnE,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;KAC3C,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;KAClD,MAAM,CACL,uBAAuB,EACvB,uDAAuD,CACxD;KACA,MAAM,CACL,aAAa,EACb,uDAAuD,CACxD;KACA,MAAM,CAAC,UAAU,EAAE,4CAA4C,CAAC;KAChE,MAAM,CACL,yBAAyB,EACzB,8DAA8D,CAC/D;KACA,MAAM,CAAC,KAAK,EAAE,OAAgC,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;KAC5D,MAAM,CAAC,aAAa,EAAE,4CAA4C,CAAC;KACnE,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;KACjE,MAAM,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;KACtE,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;KACpE,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;KACxE,MAAM,CAAC,KAAK,EAAE,OAAgC,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC;YACX,MAAM,EAAE,OAAO,CAAC,MAAiB;YACjC,KAAK,EAAE,OAAO,CAAC,KAAgB;YAC/B,OAAO,EAAE,OAAO,CAAC,OAAkB;YACnC,SAAS,EAAE,OAAO,CAAC,SAAoB;YACvC,cAAc,EAAE,OAAO,CAAC,cAAyB;YACjD,OAAO,EAAE,OAAO,CAAC,OAAkB;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export declare function isSupportedPythonVersion(versionOutput: string): boolean;
|
|
2
|
+
export declare function requireSupportedPython(command: string): string;
|
|
1
3
|
/**
|
|
2
4
|
* Slugify a developer name for safe use in task directory names.
|
|
3
5
|
*
|
|
@@ -22,6 +24,7 @@ interface InitOptions {
|
|
|
22
24
|
codebuddy?: boolean;
|
|
23
25
|
copilot?: boolean;
|
|
24
26
|
droid?: boolean;
|
|
27
|
+
pi?: boolean;
|
|
25
28
|
yes?: boolean;
|
|
26
29
|
user?: string;
|
|
27
30
|
force?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAqDA,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAUvE;AAaD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAe9D;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOzD;AAkoBD,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA6DD,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAk0B9D"}
|