Imported from livelybug/harness-repo-skill-collection (
mindfold-ai/Trellis/.agents/skills/contribute/SKILL.md). Install upstream withnpx skills add livelybug/harness-repo-skill-collection --skill contribute. Copyright stays with the author.
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)