contribute
Contributing to Trellis
Contributions are split across two repos:
| What | Repo | Purpose |
|---|---|---|
| Documentation pages | mindfold-ai/docs | Mintlify doc site |
| Skills + Spec templates | mindfold-ai/Trellis | marketplace/ directory |
Docs Repo Structure
docs/
├── docs.json # Navigation config (MUST update for new pages)
│
├── index.mdx # English homepage
├── quickstart.mdx # English quickstart
├── zh/index.mdx # Chinese homepage
├── zh/quickstart.mdx # Chinese quickstart
│
├── guides/ # English guide pages
├── zh/guides/ # Chinese guide pages
│
├── templates/ # English template pages
├── zh/templates/ # Chinese template pages
│
├── skills-market/ # English skill marketplace pages
├── zh/skills-market/ # Chinese skill marketplace pages
│
├── blog/ # English tech blog
├── zh/blog/ # Chinese tech blog
│
├── changelog/ # English changelog
├── zh/changelog/ # Chinese changelog
│
├── contribute/ # English contribution guide
├── zh/contribute/ # Chinese contribution guide
│
├── showcase/ # English showcase
└── zh/showcase/ # Chinese showcase
Trellis Main Repo Marketplace Structure
marketplace/
├── index.json # Template registry (lists all available templates)
├── README.md # Marketplace overview
├── specs/ # Spec templates
│ └── electron-fullstack/
│ ├── README.md
│ ├── frontend/
│ ├── backend/
│ ├── guides/
│ └── shared/
└── skills/ # Skills
└── trellis-meta/
├── SKILL.md
└── references/
Understanding docs.json
The navigation uses a language-based structure:
{
"navigation": {
"languages": [
{
"language": "en",
"groups": [
{
"group": "Getting started",
"pages": ["index", "quickstart"]
},
{
"group": "Guides",
"pages": ["guides/specs", "guides/tasks", ...]
},
{
"group": "Resource Marketplace",
"pages": [
{
"group": "Skills",
"expanded": false,
"pages": ["skills-market/index", "skills-market/trellis-meta"]
},
{
"group": "Spec Templates",
"expanded": false,
"pages": ["templates/specs-index", "templates/specs-electron"]
}
]
}
]
},
{
"language": "zh",
"groups": [
// Same structure with zh/ prefix
]
}
]
}
}
Key points:
- English pages: no prefix (e.g.,
guides/specs) - Chinese pages:
zh/prefix (e.g.,zh/guides/specs) - Nested groups supported (e.g., Skills inside Resource Marketplace)
expanded: falsekeeps groups collapsed by default
Contributing a Spec Template
Spec templates live in the Trellis main repo at marketplace/specs/.
1. Create template directory
marketplace/specs/your-template-name/
├── README.md # Template overview (required)
├── frontend/ # Frontend guidelines
│ ├── index.md
│ └── ...
├── backend/ # Backend guidelines
│ ├── index.md
│ └── ...
├── guides/ # Thinking guides
│ └── ...
└── shared/ # Cross-cutting concerns (optional)
└── ...
Structure varies by stack. Include directories relevant to your template.
2. Register in index.json
Add your template to marketplace/index.json in the Trellis repo:
{
"id": "your-template-id",
"type": "spec",
"name": "Your Template Name",
"description": "Brief description of the template",
"path": "marketplace/specs/your-template-name",
"tags": ["relevant", "tags"]
}
3. Create documentation pages (both languages, in docs repo)
English: templates/specs-your-template.mdx
Chinese: zh/templates/specs-your-template.mdx
Use this frontmatter:
---
title: 'Your Template Name'
description: 'Brief description'
---
4. Update navigation in docs.json
Find the Spec Templates nested group and add your page:
{
"group": "Spec Templates",
"expanded": false,
"pages": ["templates/specs-index", "templates/specs-electron", "templates/specs-your-template"]
}
Do the same for Chinese under "language": "zh":
{
"group": "Spec Templates",
"expanded": false,
"pages": [
"zh/templates/specs-index",
"zh/templates/specs-electron",
"zh/templates/specs-your-template"
]
}
5. Update the overview page
Add your template to the table in:
templates/specs-index.mdxzh/templates/specs-index.mdx
Contributing a Skill
Skills live in the Trellis main repo at marketplace/skills/.
1. Create skill directory
marketplace/skills/your-skill/
├── SKILL.md # Skill definition (required)
└── references/ # Reference docs (optional)
See Codex Skills documentation for SKILL.md format.
2. Register in index.json
Add your skill to marketplace/index.json in the Trellis repo:
{
"id": "your-skill-id",
"type": "skill",
"name": "Your Skill Name",
"description": "Brief description",
"path": "marketplace/skills/your-skill",
"tags": ["relevant", "tags"]
}
3. Create documentation pages (in docs repo)
English: skills-market/your-skill.mdx
Chinese: zh/skills-market/your-skill.mdx
4. Update navigation in docs.json
Find the Skills nested group and add your page to both languages.
5. Update the overview page
Add your skill to the table in:
skills-market/index.mdxzh/skills-market/index.mdx
Installation
Users install skills via:
npx skills add mindfold-ai/Trellis/marketplace -s your-skill
Contributing a Showcase Project
1. Copy the template
cp showcase/template.mdx showcase/your-project.mdx
cp zh/showcase/template.mdx zh/showcase/your-project.mdx
2. Fill in project details
- Update
sidebarTitlewith your project name - Add project description
- Replace GitHub OG image URL with your repo
- Describe how you used Trellis
3. Update navigation in docs.json
Find the Showcase / 项目展示 group and add your page:
{
"group": "Showcase",
"expanded": false,
"pages": ["showcase/index", "showcase/open-typeless", "showcase/your-project"]
}
Do the same for Chinese.
4. Add Card to overview page
Add a Card component to display your project:
English (showcase/index.mdx):
<Card title="Project Name" icon="icon-name" href="/showcase/your-project">
One-line description
</Card>
Chinese (zh/showcase/index.mdx):
<Card title="项目名" icon="icon-name" href="/zh/showcase/your-project">
一句话描述
</Card>
Contributing Documentation
Adding a new guide
- Create the page in
guides/your-guide.mdx - Create Chinese version in
zh/guides/your-guide.mdx - Update
docs.json- add toGuidesgroup in both languages
Adding a blog post
- Create the page in
blog/your-post.mdx - Create Chinese version in
zh/blog/your-post.mdx - Update
docs.json- add toTech Bloggroup in both languages
Updating existing pages
- Find the file in the appropriate directory
- Make your changes
- Ensure both language versions stay in sync
Bilingual Requirements
All user-facing content must have both English and Chinese versions.
| Content Type | English Path | Chinese Path |
|---|---|---|
| Homepage | index.mdx |
zh/index.mdx |
| Guides | guides/*.mdx |
zh/guides/*.mdx |
| Templates | templates/*.mdx |
zh/templates/*.mdx |
| Skills | skills-market/*.mdx |
zh/skills-market/*.mdx |
| Showcase | showcase/*.mdx |
zh/showcase/*.mdx |
| Blog | blog/*.mdx |
zh/blog/*.mdx |
| Changelog | changelog/*.mdx |
zh/changelog/*.mdx |
Development Setup
# Install dependencies
pnpm install
# Start local dev server
pnpm dev
# Check markdown lint
pnpm lint:md
# Verify docs structure
pnpm verify
# Format files
pnpm format
Pre-commit hooks: The project uses husky with lint-staged. On commit:
- Markdown files are auto-linted and formatted
verify-docs.pychecks docs.json and frontmatter
MDX Components
Mintlify supports MDX components. Common ones:
<Card title="Title" icon="download" href="/path">
Card content here
</Card>
<CardGroup cols={2}>
<Card>...</Card>
<Card>...</Card>
</CardGroup>
<Accordion title="Click to expand">Hidden content</Accordion>
<AccordionGroup>
<Accordion>...</Accordion>
</AccordionGroup>
Inline HTML is allowed (MDX). See Mintlify docs for all components.
Submitting a PR
For documentation changes (docs repo):
- Fork:
https://github.com/mindfold-ai/docs - Clone:
git clone https://github.com/YOUR_USERNAME/docs.git - Install:
pnpm install - Branch:
git checkout -b feat/your-contribution - Make changes following this guide
- Test:
pnpm dev - Commit with conventional message (e.g.,
docs: add xxx template) - Push and create PR
For skills/spec templates (Trellis repo):
- Fork:
https://github.com/mindfold-ai/Trellis - Clone:
git clone https://github.com/YOUR_USERNAME/Trellis.git - Add your skill/template under
marketplace/ - Update
marketplace/index.json - Push and create PR
Checklist Before PR
- Both EN and ZH versions created (for doc pages)
-
docs.jsonupdated for both languages (for doc pages) -
marketplace/index.jsonupdated (for skills/templates) - Overview/index pages updated with new entries
- Local preview tested (
pnpm dev) - No broken links
- Code blocks have correct language tags
- Frontmatter includes title and description
- Images placed in
images/directory (if any)
More from mindfold-ai/trellis
trellis-meta
Understand and customize the local Trellis architecture inside a user project. Use when modifying .trellis plus platform hooks, settings, agents, skills, commands, prompts, or workflows generated by trellis init.
167cc-codex-spec-bootstrap
Claude Code + Codex parallel pipeline for bootstrapping Trellis coding specs. CC analyzes the repo with GitNexus (knowledge graph) + ABCoder (AST), creates Trellis task PRDs with full architectural context and MCP tool instructions, then Codex agents run those tasks in parallel to fill spec files. Use when: bootstrapping coding guidelines, setting up Trellis specs, 'bootstrap specs for codex', 'create spec tasks', 'CC + Codex spec pipeline', 'initialize coding guidelines with code intelligence'. Also triggers when user wants to set up GitNexus or ABCoder MCP for multi-agent spec generation.
89brainstorm
Collaborative requirements discovery session optimized for AI coding workflows. Creates task directories, seeds PRDs, runs codebase research, proposes concrete implementation approaches with trade-offs, and converges on MVP scope through structured Q&A. Use when requirements are unclear, multiple implementation paths exist, trade-offs need evaluation, or a complex feature needs scoping before development.
38break-loop
Deep post-fix bug analysis across five dimensions: root cause categorization, fix failure analysis, prevention mechanisms, systematic expansion, and knowledge capture. Updates .trellis/spec/ guides with lessons learned to prevent recurring bugs. Use when a debugging session completes, after fixing a tricky bug, when the same class of bug keeps recurring, or when you want to capture debugging insights into project documentation.
34record-session
Records completed work progress to .trellis/workspace/ journal files after human testing and commit. Captures session summaries, commit hashes, and updates developer index files for future session context. Use when a coding session is complete, after the human has committed code, or to persist session knowledge for future AI sessions.
32start
Initializes an AI development session by reading workflow guides, developer identity, git status, active tasks, and project guidelines from .trellis/. Classifies incoming tasks and routes to brainstorm, direct edit, or task workflow. Use when beginning a new coding session, resuming work, starting a new task, or re-establishing project context.
30