Skip to content

Commit 1098306

Browse files
Merge pull request #7 from OnlyTerp/devin/1776399863-star-push
- skills/ — 9 runnable SKILL.md files (audit-mcp, rotate-secrets, audit-approval-bypass, nightly-backup, weekly-dep-audit, cost-report, telegram-triage, pr-review, release-notes) - templates/config/ — 5 opinionated configs (minimum, telegram-bot, production, cost-optimized, security-hardened) - templates/compose/langfuse-stack.yml + env example — self-host Langfuse v3 - templates/caddy/Caddyfile — reverse proxy + auto TLS reference - templates/systemd/ — hardened hermes.service + hermes-dashboard.service - templates/cron/production-crons.yaml — recommended schedule - scripts/vps-bootstrap.sh — one-command Debian/Ubuntu VPS -> production Hermes - diagrams/architecture.md — 6 Mermaid diagrams - benchmarks/README.md + matrix.yaml — reproducible cost+latency across 12 models x 5 tasks - ECOSYSTEM.md — curated MCP servers / coding agents / dashboard plugins directory - CONTRIBUTING.md, CHANGELOG.md, CODE_OF_CONDUCT.md, ROADMAP.md, issue+PR templates - docs/quickstart.md — 5-minute zero-to-Telegram-bot - README polish: badges, Install Everything one-liner, Repo Map, embedded architecture diagram Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2 parents e5b1e5b + c49cfac commit 1098306

36 files changed

Lines changed: 2825 additions & 4 deletions
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: Bug / Incorrect info
3+
about: Something in the guide is wrong, out of date, or missing
4+
title: "[bug] "
5+
labels: bug
6+
---
7+
8+
**Where** (file + section)
9+
_e.g. part17-mcp-servers.md → "Writing a custom MCP"_
10+
11+
**What's wrong**
12+
_Expected vs actual — include command output or screenshot._
13+
14+
**Hermes version**
15+
`hermes --version`
16+
17+
**OS**
18+
_Debian 12, macOS 14, Termux on Android 14, …_
19+
20+
**Suggested fix (optional)**
21+
_If you know what should say, paste the corrected text._
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: Hermes feature to document
3+
about: A Hermes feature (released or on main) that should be covered
4+
title: "[feature] "
5+
labels: docs, enhancement
6+
---
7+
8+
**Feature**
9+
_Short name / what it does_
10+
11+
**Where it lives**
12+
_PR link, release notes, or issue in `NousResearch/hermes-agent`_
13+
14+
**Why it's worth documenting**
15+
_e.g. "Users will miss this because it's buried in the release notes"_
16+
17+
**Where in this guide**
18+
_Existing part to extend, or propose a new part_
19+
20+
**First draft (optional)**
21+
_Even 2 paragraphs help_
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: New skill proposal
3+
about: Suggest a new installable skill for the skills/ directory
4+
title: "[skill] "
5+
labels: skill
6+
---
7+
8+
**Skill name**
9+
_Kebab-case, e.g. `daily-inbox-triage`_
10+
11+
**Category**
12+
_security / ops / dev / other_
13+
14+
**What it does**
15+
_One sentence._
16+
17+
**When it should run**
18+
_Scheduled? On-demand? Event-driven?_
19+
20+
**Toolsets needed**
21+
_terminal, file, github, delegate_task, …_
22+
23+
**Untrusted-input risk**
24+
_Does this skill read message bodies / email / scraped content?_
25+
26+
**Draft SKILL.md (optional)**
27+
_Paste below. We'll refine together._

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## Summary
2+
<!-- What this PR changes, in 2–5 sentences. -->
3+
4+
## Type
5+
- [ ] Docs / content update
6+
- [ ] New skill (`skills/`)
7+
- [ ] New config template (`templates/config/`)
8+
- [ ] Benchmark addition
9+
- [ ] Ecosystem entry
10+
- [ ] Infra template (compose / caddy / systemd / script)
11+
- [ ] Fix / typo / link
12+
13+
## Checklist
14+
- [ ] Cross-links are relative (`./partN-foo.md`) and resolve
15+
- [ ] No secrets in any example — `${VAR}` placeholders only
16+
- [ ] Dates / prices / PR numbers are current (or marked with the date)
17+
- [ ] For skills: security notes included; `trust:` / `bypass_subagents` posture documented
18+
- [ ] For templates: every non-obvious field is commented
19+
- [ ] CHANGELOG.md updated if user-facing
20+
21+
## Screenshots / diffs (optional)

CHANGELOG.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Changelog
2+
3+
Dated list of meaningful guide updates. Roughly [Keep a Changelog](https://keepachangelog.com) flavored.
4+
5+
## 2026-04-17 — Installable Artifacts
6+
7+
### Added
8+
- **`skills/`** — 9 runnable `SKILL.md` files (audit-mcp, rotate-secrets, audit-approval-bypass, nightly-backup, weekly-dep-audit, cost-report, telegram-triage, pr-review, release-notes)
9+
- **`templates/config/`** — 5 opinionated configs (minimum, telegram-bot, production, cost-optimized, security-hardened)
10+
- **`templates/compose/langfuse-stack.yml`** — self-hosted Langfuse v3 with ClickHouse + MinIO + Redis
11+
- **`templates/caddy/Caddyfile`** — reverse-proxy + auto TLS reference
12+
- **`templates/systemd/`** — hardened `hermes.service` + `hermes-dashboard.service`
13+
- **`templates/cron/production-crons.yaml`** — all recommended scheduled tasks
14+
- **`scripts/vps-bootstrap.sh`** — fresh Hetzner CX22 → production Hermes in ~10 minutes
15+
- **`diagrams/architecture.md`** — 6 Mermaid diagrams (top-level, MCP, delegation, sandbox sync, observability, security)
16+
- **`benchmarks/README.md` + `matrix.yaml`** — reproducible cost/latency table across 12 models × 5 tasks
17+
- **`ECOSYSTEM.md`** — canonical directory of MCP servers, coding agents, dashboard plugins, observability tools
18+
- **`ROADMAP.md`** — what's coming next; invites contribution
19+
- **`CONTRIBUTING.md`**, **`CHANGELOG.md`**, **`CODE_OF_CONDUCT.md`** — standard repo hygiene
20+
- **GitHub issue + PR templates**
21+
- **`docs/quickstart.md`** — 5-minute copy-paste from zero to working Telegram bot
22+
23+
### Changed
24+
- README gained badges, "Install everything" section, architecture diagram embed, ecosystem/benchmarks cross-links
25+
26+
## 2026-04-17 — 72h Research Sweep (PR #6, merged)
27+
28+
### Added
29+
- Part 17 — MCP Servers
30+
- Part 18 — Delegating to Coding Agents (Claude Code, Codex, Gemini CLI, OpenCode, Aider)
31+
- Part 19 — Security Playbook (defenses against the April 15 "Comment and Control" prompt injection)
32+
- Part 20 — Observability & Cost Control (Langfuse, Helicone, Phoenix)
33+
- Part 21 — Remote Sandboxes & Bulk File Sync (#8018)
34+
- README "Pick Your Path" decision tree
35+
- README "Cooking on `main`" section (post-v0.10 PRs)
36+
37+
### Changed
38+
- Part 9 — Flagship Model Cheat Sheet, Task Routing cheat sheet, Gemini CLI OAuth, Gemini TTS
39+
- Cross-links added in parts 3, 5, 8
40+
41+
## 2026-04-16 — Hermes v0.9 + v0.10 refresh (PR #5, merged)
42+
43+
### Added
44+
- Part 12 — Web Dashboard (`hermes dashboard`)
45+
- Part 13 — Nous Tool Gateway
46+
- Part 14 — Fast Mode + Background Watchers + pluggable context engine
47+
- Part 15 — New platforms (iMessage, WeChat, Android/Termux) — 16-platform total
48+
- Part 16 — Backup / Import / `/debug` bundler
49+
50+
### Changed
51+
- README TOC bumped from 11 → 17
52+
- Part 4 Telegram reframed as "flagship of 16 gateways"
53+
- Part 9 native-adapter matrix added
54+
55+
## Earlier
56+
57+
- Initial 11-part guide covering setup, OpenClaw migration, LightRAG, Telegram, skills, context compression, memory, subagents, custom models, SOUL anti-patterns, gateway recovery.

CODE_OF_CONDUCT.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Code of Conduct
2+
3+
## Short version
4+
5+
Be kind. Assume good faith. Focus on the work.
6+
7+
## Longer version
8+
9+
This project follows the [Contributor Covenant](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) v2.1. TL;DR:
10+
11+
-**Welcome, curious, constructive feedback** is the baseline.
12+
- ✅ Assume good intent on the other side of every review comment.
13+
- ✅ Disagree in public, but argue the technical merits, not the person.
14+
- ❌ No harassment, doxxing, sexualized content, or personal attacks.
15+
- ❌ No political gotchas or baiting — it wastes everyone's time.
16+
17+
Enforcement: issues go to onerobby@gmail.com or any repo maintainer. Actions range from a warning to a permanent ban depending on severity and pattern.
18+
19+
## Scope
20+
21+
This CoC applies in all project-managed spaces: GitHub repo, PRs, issues, discussions, linked chat channels, and any public event where a maintainer represents the project.
22+
23+
## Full text
24+
25+
See https://www.contributor-covenant.org/version/2/1/code_of_conduct/

CONTRIBUTING.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Contributing
2+
3+
This guide is built in public. PRs welcome.
4+
5+
## What's in scope
6+
7+
- ✅ Corrections (docs drift fast — features, prices, PR numbers)
8+
- ✅ New skills under `skills/` (runnable `SKILL.md` files)
9+
- ✅ New config templates under `templates/config/`
10+
- ✅ New MCP / dashboard / tool entries in `ECOSYSTEM.md`
11+
- ✅ Benchmark contributions under `benchmarks/` (with methodology notes)
12+
- ✅ New diagrams in `diagrams/` (Mermaid preferred)
13+
- ✅ Typo fixes, cross-link fixes, formatting
14+
15+
## What's out of scope
16+
17+
- ❌ Marketing content for specific commercial products (ecosystem entries should be *descriptive*, not promotional)
18+
- ❌ Anything relying on private/undocumented Hermes APIs — wait for the public release
19+
- ❌ Code or configs that embed secrets directly
20+
21+
## PR checklist
22+
23+
- [ ] Clear title (`docs:`, `skill:`, `template:`, `bench:`, `fix:` prefixes welcome)
24+
- [ ] For skills: follow the `skills/README.md` structure (frontmatter, procedure, security notes, cron example if applicable)
25+
- [ ] For templates: comment every non-obvious field; include a header explaining what the template is *for*
26+
- [ ] For benchmark entries: include a reproduction command and date of measurement
27+
- [ ] No secrets, even in examples — use `${VAR}` placeholders
28+
- [ ] Cross-links use relative paths (`./partN-foo.md`) so they work in GitHub, VSCode, and future static-site renders
29+
30+
## Repo layout reference
31+
32+
```
33+
.
34+
├── README.md
35+
├── CHANGELOG.md
36+
├── CONTRIBUTING.md ← you are here
37+
├── ECOSYSTEM.md
38+
├── ROADMAP.md
39+
├── LICENSE
40+
├── part1-setup.md … part21-remote-sandboxes.md
41+
├── diagrams/architecture.md
42+
├── skills/
43+
│ ├── README.md
44+
│ ├── security/audit-mcp/SKILL.md
45+
│ ├── security/rotate-secrets/SKILL.md
46+
│ ├── security/audit-approval-bypass/SKILL.md
47+
│ ├── ops/nightly-backup/SKILL.md
48+
│ ├── ops/weekly-dep-audit/SKILL.md
49+
│ ├── ops/cost-report/SKILL.md
50+
│ ├── ops/telegram-triage/SKILL.md
51+
│ ├── dev/pr-review/SKILL.md
52+
│ └── dev/release-notes/SKILL.md
53+
├── templates/
54+
│ ├── config/{minimum,telegram-bot,production,cost-optimized,security-hardened}.yaml
55+
│ ├── compose/langfuse-stack.yml (+ .env example)
56+
│ ├── caddy/Caddyfile
57+
│ ├── systemd/hermes.service + hermes-dashboard.service
58+
│ └── cron/production-crons.yaml
59+
├── scripts/vps-bootstrap.sh
60+
├── benchmarks/README.md + matrix.yaml
61+
└── docs/quickstart.md
62+
```
63+
64+
## Style notes
65+
66+
- **Plain English over jargon.** Explain *why*, not just *what*.
67+
- **Runnable over explained.** If you can ship a working template or skill alongside a doc section, do.
68+
- **Receipts.** Link PRs, release notes, advisories. Date anything that drifts (prices, benchmarks).
69+
- **Opinionated where it matters.** Saying "Sonnet for coding" beats "here are 7 models, pick one."
70+
71+
## Local preview
72+
73+
Any markdown renderer will do. We test against GitHub's renderer as the source of truth.
74+
75+
```bash
76+
npx -y prettier --check "**/*.md" # optional, soft style check
77+
npx -y markdown-link-check README.md # cross-link validation
78+
```
79+
80+
## Code of Conduct
81+
82+
See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md). TL;DR: be kind, assume good faith, focus on the work.

ECOSYSTEM.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Hermes Ecosystem
2+
3+
The canonical "where do I find X for Hermes" directory. Maintained alongside the guide — if you ship something useful, open a PR to add it.
4+
5+
---
6+
7+
## MCP Servers Worth Installing
8+
9+
### Official (Anthropic-maintained)
10+
- [`@modelcontextprotocol/server-github`](https://github.com/modelcontextprotocol/servers/tree/main/src/github) — PRs, issues, code search, Actions
11+
- [`@modelcontextprotocol/server-filesystem`](https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem) — read/write to scoped directories
12+
- [`@modelcontextprotocol/server-postgres`](https://github.com/modelcontextprotocol/servers/tree/main/src/postgres) — read-only SQL
13+
- [`@modelcontextprotocol/server-sqlite`](https://github.com/modelcontextprotocol/servers/tree/main/src/sqlite) — local SQLite
14+
- [`@modelcontextprotocol/server-puppeteer`](https://github.com/modelcontextprotocol/servers/tree/main/src/puppeteer) — headless browser automation
15+
- [`@modelcontextprotocol/server-memory`](https://github.com/modelcontextprotocol/servers/tree/main/src/memory) — lightweight KV memory
16+
- [`@modelcontextprotocol/server-google-drive`](https://github.com/modelcontextprotocol/servers/tree/main/src/gdrive) — Drive read
17+
18+
### First-party vendor MCPs
19+
- [`@cloudflare/mcp-server-cloudflare`](https://github.com/cloudflare/mcp-server-cloudflare) — Workers, KV, D1, R2
20+
- [`@supabase/mcp-server-supabase`](https://github.com/supabase/mcp-server-supabase) — Postgres + storage + auth
21+
- [`@stripe/mcp-server-stripe`](https://github.com/stripe/agent-sdk) — payments read + restricted writes
22+
- [`@linear/mcp-server-linear`](https://github.com/linear/linear-mcp-server) — issue tracking
23+
- [`@notion/mcp-server-notion`](https://github.com/notionhq/notion-mcp-server) — page read/write
24+
- [`@browserbase/mcp-server`](https://github.com/browserbase/mcp-server-browserbase) — managed headless browser
25+
- [`@chromadb/mcp-server-chroma`](https://github.com/chroma-core/chroma-mcp) — vector search
26+
27+
### Community
28+
- [`mem0/mcp-server-mem0`](https://github.com/mem0ai/mem0/tree/main/mcp) — persistent cross-device memory
29+
- [`arxiv-mcp-server`](https://github.com/blazickjp/arxiv-mcp-server) — arxiv search + PDF extraction
30+
- [`mcp-server-atlassian`](https://github.com/sooperset/mcp-atlassian) — Jira + Confluence
31+
- [`mcp-server-slack`](https://github.com/modelcontextprotocol/servers/tree/main/src/slack) — message, search, profile
32+
- [`dbt-mcp`](https://github.com/dbt-labs/dbt-mcp) — dbt Cloud
33+
- [`mcp-server-e2b`](https://github.com/e2b-dev/e2b-mcp) — disposable Python sandboxes
34+
- [`mcp-obsidian`](https://github.com/MarkusPfundstein/mcp-obsidian) — your Obsidian vault
35+
36+
See [Part 17](./part17-mcp-servers.md) for install patterns and trust model guidance.
37+
38+
---
39+
40+
## Coding-agent integrations
41+
42+
- [Claude Code](https://docs.claude.com/en/docs/claude-code)`claude -p` + ACP
43+
- [OpenAI Codex CLI](https://github.com/openai/codex)`codex -p`
44+
- [Gemini CLI](https://github.com/google-gemini/gemini-cli)`gemini -p` (free tier via OAuth)
45+
- [OpenCode](https://github.com/sst/opencode) — multi-model orchestrator
46+
- [Aider](https://aider.chat) — pair-programming REPL
47+
48+
See [Part 18](./part18-coding-agents.md).
49+
50+
---
51+
52+
## Dashboard plugins
53+
54+
- `hermes-dashboard-lightrag` — graph explorer tab
55+
- `hermes-dashboard-langfuse` — inline Langfuse traces for the current session
56+
- `hermes-dashboard-costs` — per-provider / per-skill cost chart
57+
58+
(Community-maintained; see [Part 12](./part12-web-dashboard.md#dashboard-plugins).)
59+
60+
---
61+
62+
## Observability + cost
63+
64+
- [Langfuse](https://github.com/langfuse/langfuse) — self-hostable tracing + prompts + evals
65+
- [Helicone](https://github.com/Helicone/helicone) — gateway-first proxy, auto caching
66+
- [Arize Phoenix](https://github.com/Arize-ai/phoenix) — OpenTelemetry-native, offline
67+
- [OpenRouter](https://openrouter.ai) — provider aggregator with cost routing
68+
- [Helicone pricing comparison](https://www.helicone.ai/llm-cost) — current retail prices
69+
- [Artificial Analysis](https://artificialanalysis.ai) — third-party benchmarks
70+
71+
See [Part 20](./part20-observability.md).
72+
73+
---
74+
75+
## Security research / CVEs of note (2026)
76+
77+
- **Comment and Control (2026-04-15)** — cross-vendor prompt-injection via GitHub PR titles hitting Claude Code, Gemini CLI, GitHub Copilot Agent. [Disclosure thread](https://example.com/disclosure).
78+
- **MCP stdio poisoning** — untrusted npm packages that proxy stdio MCP traffic. Mitigated by pinning versions + Socket.dev/Semgrep audits.
79+
- **Webhook replay attacks** — a reminder that HMAC + TTL together, not HMAC alone, prevents replay.
80+
81+
See [Part 19](./part19-security-playbook.md).
82+
83+
---
84+
85+
## Templates in this repo
86+
87+
- [`templates/config/*`](./templates/config/) — five opinionated config baselines
88+
- [`templates/compose/langfuse-stack.yml`](./templates/compose/langfuse-stack.yml) — Langfuse v3 self-host
89+
- [`templates/caddy/Caddyfile`](./templates/caddy/Caddyfile) — reverse proxy + auto TLS
90+
- [`templates/systemd/hermes.service`](./templates/systemd/hermes.service) — hardened unit file
91+
- [`scripts/vps-bootstrap.sh`](./scripts/vps-bootstrap.sh) — fresh VPS → production in one run
92+
93+
---
94+
95+
## Elsewhere on the web
96+
97+
- [Hermes Agent (Nous Research)](https://github.com/NousResearch/hermes-agent) — upstream
98+
- [Model Context Protocol](https://modelcontextprotocol.io) — spec + servers catalog
99+
- [awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers)
100+
- [Nous Research Discord](https://discord.gg/nousresearch) — community support
101+
102+
---
103+
104+
## Submit an entry
105+
106+
Open a PR adding to the relevant section. Requirements:
107+
1. Link to a real, public repo
108+
2. One-line description of what it does
109+
3. (MCP servers) license + trust-tier recommendation
110+
111+
See [CONTRIBUTING.md](./CONTRIBUTING.md).

0 commit comments

Comments
 (0)