[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1365":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":14,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":15,"starSnapshotCount":15,"syncStatus":16,"lastSyncTime":27,"discoverSource":28},1365,"hermes-kanban","GumbyEnder\u002Fhermes-kanban","GumbyEnder","A dedicated Obsidian plugin + Hermes skill that turns Hermes into an autonomous project executor using Kanban boards inside your Obsidian vault.",null,"Python",252,16,236,4,0,2,14,6,3.69,false,"main",true,[],"2026-06-12 02:00:27","# Hermes Kanban Bridge\n\nTurn Hermes into a true project co-pilot that lives inside your Obsidian workspace. Hermes can break any goal into a structured Kanban board, move cards, query state, and run daily standups and weekly reviews — all from inside Obsidian, fully local, fully private.\n\n## What It Does\n\n- Break any goal into a structured Kanban board with a single prompt\n- Move cards between columns, update metadata, query state in real time\n- Run daily standups and weekly review rituals automatically\n- Fully local, fully private — no cloud dependencies\n- Visual board rendering via the obsidian-kanban plugin\n\n## Architecture\n\n```\nHermes Agent (any machine)\n    |\n    | HTTP REST API\n    v\nhermes-kanban-bridge plugin (runs inside Obsidian)\n    |\n    | Obsidian Vault API\n    v\nKanban Markdown files in your vault\n    |\n    | Renders as visual board\n    v\nobsidian-kanban plugin (mgmeyers\u002Fobsidian-community)\n```\n\n## Requirements\n\n- Obsidian 1.4.0+ (desktop only — uses Node.js http module)\n- Node.js 18+ (for building the plugin)\n- obsidian-kanban plugin (installed automatically by install script)\n- Hermes agent with skill support\n\n---\n\n## Installation\n\n### Automated (recommended)\n\nEdit `hermes-kanban-install.sh` to set your vault path, then run:\n\n```bash\nbash hermes-kanban-install.sh\n```\n\nThis installs both plugins (hermes-kanban-bridge + obsidian-kanban visual renderer) and registers them in your vault's community-plugins.json.\n\n### Manual\n\n**Step 1 — Build the plugin:**\n```bash\ncd plugin\nnpm install\nnpm run build\n```\n\n**Step 2 — Copy to vault:**\n```bash\nVAULT=\"\u002Fpath\u002Fto\u002Fyour\u002Fvault\"\nmkdir -p \"$VAULT\u002F.obsidian\u002Fplugins\u002Fhermes-kanban-bridge\"\ncp main.js manifest.json \"$VAULT\u002F.obsidian\u002Fplugins\u002Fhermes-kanban-bridge\u002F\"\n```\n\n**Step 3 — Install obsidian-kanban (visual renderer):**\n```bash\nKANBAN_DIR=\"$VAULT\u002F.obsidian\u002Fplugins\u002Fobsidian-kanban\"\nmkdir -p \"$KANBAN_DIR\"\nTAG=\"2.0.51\"  # or check https:\u002F\u002Fgithub.com\u002Fobsidian-community\u002Fobsidian-kanban\u002Freleases\nfor f in main.js manifest.json styles.css; do\n  curl -sL \"https:\u002F\u002Fgithub.com\u002Fobsidian-community\u002Fobsidian-kanban\u002Freleases\u002Fdownload\u002F$TAG\u002F$f\" -o \"$KANBAN_DIR\u002F$f\"\ndone\n```\n\n**Step 4 — Enable in Obsidian:**\n1. Reload Obsidian\n2. Settings → Community Plugins → turn off Safe Mode (if on)\n3. Enable **Hermes Kanban Bridge** and **Kanban** (by mgmeyers)\n4. You should see a notice: \"Hermes Kanban Bridge started on port 27124\"\n\n**Step 5 — Install Hermes skills:**\n```bash\nmkdir -p ~\u002F.hermes\u002Fprofiles\u002Ffrodo\u002Fskills\u002Fproductivity\ncp skills\u002F*.md ~\u002F.hermes\u002Fprofiles\u002Ffrodo\u002Fskills\u002Fproductivity\u002F\n```\n\n---\n\n## Configuration\n\nPlugin settings (Obsidian → Settings → Hermes Kanban Bridge):\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| Port | 27124 | Local port for the REST API |\n| Board folder | Kanban | Vault folder where boards are stored |\n| Trust mode | confirm | `confirm` = approval modal, `auto` = no prompts |\n| Enable server | on | Toggle REST API on\u002Foff |\n\n---\n\n## Verify It's Working\n\n```bash\ncurl http:\u002F\u002Flocalhost:27124\u002Fhealth\n# {\"ok\":true,\"status\":\"running\",\"port\":27124,\"version\":\"1.0.0\"}\n```\n\n---\n\n## Usage\n\nOnce the plugin is running, tell Hermes:\n\n- \"Break down [project] into a Kanban board\"\n- \"Run my daily standup\"\n- \"What's blocked?\"\n- \"Move [card] to In Progress\"\n- \"Give me a weekly review\"\n\nHermes uses the skills in `skills\u002F` to orchestrate everything via the REST API. See `docs\u002FAPI.md` for the full endpoint reference.\n\n---\n\n## Troubleshooting\n\n### curl: Failed to connect \u002F connection refused\n\nThe plugin server starts when Obsidian loads with the plugin enabled. Check:\n\n1. Plugin is enabled: Settings → Community Plugins → Hermes Kanban Bridge is toggled ON\n2. You should have seen a notice \"Hermes Kanban Bridge started on port 27124\" when enabling\n3. Try toggling the plugin off and back on to restart the server\n4. Check the port isn't in use: `netstat -ano | findstr 27124` (Windows) or `lsof -i :27124` (Mac\u002FLinux)\n\n### Hermes is on a different machine than Obsidian\n\nBy default the server binds to `0.0.0.0` (all interfaces). If Hermes and Obsidian are on different machines:\n\n1. Use the Obsidian machine's **Tailscale IP** (or LAN IP) instead of `localhost`\n2. **Windows**: Add a firewall rule to allow inbound on port 27124:\n   ```powershell\n   netsh advfirewall firewall add rule name=\"Hermes Kanban Bridge\" dir=in action=allow protocol=TCP localport=27124\n   ```\n3. **macOS**: System Settings → Network → Firewall → allow Obsidian\n4. Verify the server is listening on all interfaces, not just loopback:\n   ```powershell\n   netstat -ano | findstr 27124\n   # Should show: TCP  0.0.0.0:27124  ... LISTENING\n   # NOT:         TCP  127.0.0.1:27124 ... LISTENING\n   ```\n   If you see 127.0.0.1, toggle the plugin off\u002Fon to reload the new build.\n\n### Board opens as a Markdown list, not a visual board\n\nThe obsidian-kanban plugin requires a YAML frontmatter trigger at the top of the file:\n\n```markdown\n---\nkanban-plugin: board\n---\n```\n\nAll boards created via the API include this automatically. If you created a board before this fix:\n- Open the file in Obsidian source mode\n- Add the frontmatter block at the very top\n- Close and reopen the note — it will render as a board\n\n### Plugin not showing in Community Plugins list\n\nObsidian sometimes needs a full restart (not just reload) to detect a newly copied plugin folder. Quit Obsidian completely and reopen it, then check Settings → Community Plugins.\n\n### Port conflict\n\nIf port 27124 is already in use, change it in Settings → Hermes Kanban Bridge → Port. Restart the plugin after changing. Update any Hermes skill configs that reference the port.\n\n---\n\n## Demo\n\nSee `docs\u002Fdemo\u002FQ3-Launch.md` for a sample Kanban board you can drop into your vault's `Kanban\u002F` folder.\n\n---\n\n## Testing\n\n**105 tests passing, zero regressions.** Coverage: **55%** overall (kanban 87%, sync 82%, usage 89%).\n\n| Suite | Tests | Description |\n|-------|-------|-------------|\n| Unit | 59 | Database schema, kanban logic, CLI (Click runner), sync, usage analytics |\n| E2E — CLI workflows | 22 | Real subprocess invocation: full lifecycle (init→add→move→info→comment→dependency→archive), demo, usage, sync, error handling, multi-board |\n| E2E — TUI smoke | 4 | Headless PTY: Textual TUI launches, renders header\u002Fcolumns\u002Fcards, clean shutdown via `q` and EOF |\n| E2E — Mock API | 20 | Stdlib mock server implements all 15+ REST endpoints from `docs\u002FAPI.md` — boards, cards, query, rituals, templates, notifications |\n\n```bash\n# All tests\npytest tests\u002F\n\n# E2E only\npytest tests\u002Fe2e\u002F\n\n# Skip slow TUI tests\npytest tests\u002Fe2e\u002F -k \"not tui\"\n```\n\nThe mock API server (`tests\u002Fe2e\u002Fmock_api_server.py`) exercises the full REST surface without requiring a running Obsidian instance, making it suitable for CI.\n\n### Bug Found & Fixed\n\nE2E testing uncovered a bug in the `demo` command where `board_id` was referenced before assignment, causing `UnboundLocalError`. The `missing_cols` computation was moved to after the board ID is properly resolved.\n\n---\n\n## License\n\nMIT — see LICENSE file.\n","Hermes Kanban Bridge 是一个专为 Obsidian 设计的插件，结合 Hermes 技能将项目管理转化为可视化看板。它能够通过简单的提示将目标分解成结构化的看板，并支持卡片移动、元数据更新和实时状态查询等功能。此外，该插件还能自动运行每日站会和周回顾会议。所有操作都在本地进行，无需依赖云端服务，确保了数据的安全性和隐私性。此工具非常适合需要在Obsidian环境中高效管理个人或团队项目的用户，尤其是那些重视数据隐私并偏好使用Markdown文件来组织信息的人士。","2026-06-11 02:43:19","CREATED_QUERY"]