Files
hyperguild/README.md
2026-04-16 21:50:53 +02:00

99 lines
3.1 KiB
Markdown

# Project template
Harness-agnostic project scaffold using the Agent Skills open standard.
## Quick start
```bash
degit mathias/project-template my-new-project
cd my-new-project
task init
```
## Structure
```
.context/
├── PROJECT.md ← Canonical project context (edit this)
├── mcp.json ← MCP server config (generated on first sync)
└── system-prompt.txt ← Generated: generic system prompt
.skills/
├── go-patterns/
│ └── SKILL.md ← Agent Skills standard format
└── htmx-patterns/
└── SKILL.md
scripts/
└── context-sync.sh ← Adapter generator (finds root AGENT.md automatically)
Taskfile.yml ← Task runner config
DECISIONS.md ← Why things are the way they are
```
## Generated files (gitignored)
| File | Consumer | Notes |
|------|----------|-------|
| `AGENTS.md` | Crush, Pi, Antigravity | Root + project concatenated |
| `CLAUDE.md` | Claude Code | Project-only (inherits root via tree walk) |
| `.cursorrules` | Cursor | Root + project concatenated |
| `.aider.conventions.md` | Aider | Root + project concatenated |
| `.context/system-prompt.txt` | Open WebUI, Mods, generic | Root + project concatenated |
## How root context works
The script walks up from the project directory looking for `~/dev/.context/AGENT.md`.
- **Claude Code**: inherits natively (reads every `CLAUDE.md` up the tree) → project CLAUDE.md is project-only
- **Everything else**: can't walk the tree → script concatenates root + project into each generated file
## Skills
Skills use the [Agent Skills open standard](https://github.com/badlogic/pi-skills). Each skill is a folder with a `SKILL.md` containing frontmatter:
```yaml
---
name: my-skill
description: What this skill does. When to use it.
---
# Instructions here
```
Supported natively by Claude Code, Pi, Crush, and Antigravity. No adapter needed for skills.
### Adding a skill
```bash
mkdir .skills/my-new-skill
# Create .skills/my-new-skill/SKILL.md with frontmatter + instructions
```
### Using pi-skills (cross-compatible)
```bash
# User-level (all projects)
git clone https://github.com/badlogic/pi-skills ~/.pi/agent/skills/pi-skills
# Symlink for Claude Code
ln -s ~/.pi/agent/skills/pi-skills/brave-search ~/.claude/skills/brave-search
```
## Usage with specific tools
**Claude Code**: `task context:sync:claude` → reads `CLAUDE.md` + discovers `.skills/*/SKILL.md`
**Crush**: `task context:sync:agents` → reads `AGENTS.md` + discovers `.skills/*/SKILL.md`
**Pi**: `task context:sync:agents` → reads `AGENTS.md` + discovers `.skills/*/SKILL.md` (or symlink `.skills/` to `.pi/skills/`)
**Antigravity**: `task context:sync:agents` → reads `AGENTS.md` + discovers `.skills/*/SKILL.md`
**Cursor**: `task context:sync:cursor` → reads `.cursorrules`
**Mistral Vibe**: Run root-level `task context:sync:vibe` once → `vibe --agent mathias`
**Open WebUI / Mods**: Copy `.context/system-prompt.txt` into a preset or pipe it
**Any other tool**: Point at `.context/PROJECT.md` directly — it's human-readable markdown