diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 6c45103..0c271de 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -11,7 +11,7 @@ { "name": "hamster", "description": "Orchestrates Hamster Studio brief execution with team personas, parallel wave execution, and deep review modes", - "version": "3.2.0", + "version": "3.3.0", "source": "./", "category": "workflow", "homepage": "https://tryhamster.com", diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index d0d24f5..66c1e88 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "hamster", - "version": "3.2.0", + "version": "3.3.0", "description": "Orchestrates Hamster Studio brief execution with team personas, parallel wave execution, and deep review modes. Ship, plan, review, QA, and retro — all from Claude Code.", "author": { "name": "Hamster", @@ -8,6 +8,7 @@ }, "homepage": "https://tryhamster.com", "repository": "https://github.com/gethamster/cli", + "mcpServers": "./.mcp.json", "license": "Proprietary", "keywords": [ "hamster", diff --git a/.codex-plugin/marketplace.json b/.codex-plugin/marketplace.json deleted file mode 100644 index 3fe8892..0000000 --- a/.codex-plugin/marketplace.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "hamster-plugins", - "owner": { - "name": "Hamster", - "email": "hello@tryhamster.com" - }, - "metadata": { - "description": "Codex plugins for Hamster Studio", - "version": "3.2.0" - }, - "plugins": [ - { - "name": "hamster", - "source": ".", - "description": "Orchestrates Hamster Studio brief execution with team personas, parallel wave execution, and deep review modes", - "version": "3.2.0", - "author": { - "name": "Hamster", - "email": "hello@tryhamster.com" - }, - "homepage": "https://tryhamster.com", - "repository": "https://github.com/gethamster/cli", - "license": "Proprietary", - "logo": "assets/logo.svg", - "keywords": [ - "hamster", - "brief-execution", - "task-orchestration", - "ai-workflow", - "workflow-automation" - ], - "category": "workflow", - "tags": [ - "planning", - "parallel-execution", - "code-review", - "git" - ] - } - ] -} diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index ba6c587..5e1755b 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "hamster", - "version": "3.2.0", + "version": "3.3.0", "description": "Orchestrates Hamster Studio brief execution with team personas, parallel wave execution, and deep review modes. Ship, plan, review, QA, and retro.", "author": { "name": "Hamster", @@ -8,6 +8,7 @@ }, "homepage": "https://tryhamster.com", "repository": "https://github.com/gethamster/cli", + "mcpServers": "./.mcp.json", "license": "Proprietary", "keywords": [ "hamster", diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index fe199ba..dc3b794 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -6,14 +6,14 @@ }, "metadata": { "description": "Cursor plugins for Hamster Studio", - "version": "3.2.0" + "version": "3.3.0" }, "plugins": [ { "name": "hamster", "source": ".", "description": "Orchestrates Hamster Studio brief execution with team personas, parallel wave execution, and deep review modes", - "version": "3.2.0", + "version": "3.3.0", "author": { "name": "Hamster", "email": "hello@tryhamster.com" diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json index ba6c587..5e1755b 100644 --- a/.cursor-plugin/plugin.json +++ b/.cursor-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "hamster", - "version": "3.2.0", + "version": "3.3.0", "description": "Orchestrates Hamster Studio brief execution with team personas, parallel wave execution, and deep review modes. Ship, plan, review, QA, and retro.", "author": { "name": "Hamster", @@ -8,6 +8,7 @@ }, "homepage": "https://tryhamster.com", "repository": "https://github.com/gethamster/cli", + "mcpServers": "./.mcp.json", "license": "Proprietary", "keywords": [ "hamster", diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..af867a7 --- /dev/null +++ b/.mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "hamster": { + "type": "http", + "url": "https://tryhamster.com/mcp" + } + } +} diff --git a/README.md b/README.md index ca9b3a3..f9497c7 100644 --- a/README.md +++ b/README.md @@ -62,46 +62,34 @@ A [Claude skill](https://docs.anthropic.com/en/docs/claude-code/skills) is also --- -## hamster — Claude Code Plugin +## hamster — Claude Code, Cursor, and Codex plugins -This repo also ships a [Claude Code plugin](https://docs.anthropic.com/en/docs/claude-code/plugins) that orchestrates end-to-end execution of Hamster Studio briefs. The plugin is **execution-only**: plans (parent tasks, subtasks, context) are generated upstream in Hamster Studio and synced into `.hamster/` via `hamster sync`. The plugin schedules those existing tasks into parallel waves inline (no planner agent), dispatches independent parent tasks simultaneously, reviews each wave, and creates bisectable commits per parent task. Executors load project context as they go — the `hamster-project-context` skill, project skills, blueprints, and methods — but never generate or elaborate tasks. Trust comes with leeway, not blindness: executors adapt to mechanical drift (a file moved, a helper renamed) and document it, and escalate genuine plan defects as PLAN_ISSUE — verified by the orchestrator, decided by the user when scope is affected, and fed back to Hamster Studio via the PR's Plan Feedback section. +This repo also ships Hamster plugins for Claude Code, Cursor, and Codex that orchestrate end-to-end execution of Hamster Studio briefs. The plugins are **execution-only**: plans (parent tasks, subtasks, context) are generated upstream in Hamster Studio and synced into `.hamster/` via `hamster sync`. They schedule those existing tasks into parallel waves inline (no planner agent), dispatch independent parent tasks simultaneously, review each wave, and create bisectable commits per parent task. Executors load project context as they go — the `hamster-project-context` skill, project skills, blueprints, and methods — but never generate or elaborate tasks. Trust comes with leeway, not blindness: executors adapt to mechanical drift (a file moved, a helper renamed) and document it, and escalate genuine plan defects as PLAN_ISSUE — verified by the orchestrator, decided by the user when scope is affected, and fed back to Hamster Studio via the PR's Plan Feedback section. ### Plugin install -In Claude Code: +Every host package points to the shared root `.mcp.json`, which connects to the hosted Hamster MCP server. On first use, the host discovers OAuth and prompts you to sign in to your Hamster workspace. + +#### Claude Code ``` /plugin marketplace add gethamster/cli /plugin install hamster@hamster-plugins ``` -### Cursor and Codex plugin packaging - -This repository also includes first-class plugin manifests for: +#### Cursor -- Cursor: `.cursor-plugin/plugin.json` and `.cursor-plugin/marketplace.json` -- Codex-compatible hosts: `.codex-plugin/plugin.json` and `.codex-plugin/marketplace.json` +In Cursor, open **Customize** in the sidebar, choose **Plugins**, and import the marketplace from `https://github.com/gethamster/cli`. Find Hamster, select **Install**, and choose project or user scope. -These manifests include listing metadata (`version`, `author`, `homepage`, `repository`, `license`, `keywords`, `category`, `tags`) plus component paths (`agents`, `commands`, `skills`) and a shared logo (`assets/logo.svg`). +#### Codex -Cursor publish URL: +Add the repository as a Codex marketplace: ```bash -# Submit for review/public listing -# https://cursor.com/marketplace/publish +codex plugin marketplace add gethamster/cli ``` -Codex note: - -- OpenAI Codex CLI currently does not document a public plugin marketplace submission endpoint. -- Use direct repository distribution and consume `.codex-plugin/plugin.json` in your Codex host/runtime integration. - -Codex local install helper: - -```bash -./scripts/install-codex-plugin.sh # symlink mode (default) -./scripts/install-codex-plugin.sh copy # copy mode -``` +Then open Codex, run `/plugins`, and install `hamster@hamster-plugins`. ### Plugin skills diff --git a/scripts/install-codex-plugin.sh b/scripts/install-codex-plugin.sh deleted file mode 100755 index 13c8573..0000000 --- a/scripts/install-codex-plugin.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -# Installs this repository's Codex plugin manifest into local Codex config. -# Default mode is symlink for easy local iteration. - -MODE="${1:-link}" # link | copy - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -REPO_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" -SOURCE_PLUGIN_DIR="${REPO_ROOT}/.codex-plugin" -SOURCE_PLUGIN_JSON="${SOURCE_PLUGIN_DIR}/plugin.json" - -if [[ ! -f "${SOURCE_PLUGIN_JSON}" ]]; then - echo "Error: missing plugin manifest at ${SOURCE_PLUGIN_JSON}" >&2 - exit 1 -fi - -CODEX_HOME="${CODEX_HOME:-${HOME}/.codex}" -TARGET_ROOT="${CODEX_HOME}/plugins" -TARGET_PLUGIN_DIR="${TARGET_ROOT}/hamster" - -mkdir -p "${TARGET_ROOT}" - -if [[ -L "${TARGET_PLUGIN_DIR}" || -d "${TARGET_PLUGIN_DIR}" || -f "${TARGET_PLUGIN_DIR}" ]]; then - rm -rf "${TARGET_PLUGIN_DIR}" -fi - -case "${MODE}" in - link) - ln -s "${SOURCE_PLUGIN_DIR}" "${TARGET_PLUGIN_DIR}" - echo "Linked Codex plugin:" - ;; - copy) - cp -R "${SOURCE_PLUGIN_DIR}" "${TARGET_PLUGIN_DIR}" - echo "Copied Codex plugin:" - ;; - *) - echo "Usage: $0 [link|copy]" >&2 - exit 1 - ;; -esac - -echo " source: ${SOURCE_PLUGIN_DIR}" -echo " target: ${TARGET_PLUGIN_DIR}" -echo -echo "Next steps:" -echo " 1) Verify plugin files:" -echo " ls -la \"${TARGET_PLUGIN_DIR}\"" -echo " 2) If your Codex host requires explicit plugin registration," -echo " point it at: ${TARGET_PLUGIN_DIR}/plugin.json" diff --git a/skills/ask/SKILL.md b/skills/ask/SKILL.md index ea3b1e3..e487e95 100644 --- a/skills/ask/SKILL.md +++ b/skills/ask/SKILL.md @@ -1,4 +1,5 @@ --- +name: ask description: >- Ask Hamster to connect the current code or editor context with workspace priorities, blockers, blueprints, related work, or intent. Also supports diff --git a/skills/plan/SKILL.md b/skills/plan/SKILL.md index 3dd38c3..78caacf 100644 --- a/skills/plan/SKILL.md +++ b/skills/plan/SKILL.md @@ -1,4 +1,5 @@ --- +name: plan description: Plan a Hamster Studio brief. Read tasks, build dependency graph, detect parallel execution waves, with optional CEO or Eng review modes. Use when the user wants to analyze a brief before executing. --- diff --git a/skills/qa/SKILL.md b/skills/qa/SKILL.md index 4f1916c..08aa6a6 100644 --- a/skills/qa/SKILL.md +++ b/skills/qa/SKILL.md @@ -1,4 +1,5 @@ --- +name: qa description: Systematic QA with diff-aware, full suite, quick smoke, or regression testing modes. Issue taxonomy and optional fix loop. Use when the user wants to run tests or check quality on their changes. --- diff --git a/skills/resume/SKILL.md b/skills/resume/SKILL.md index 421262b..317f506 100644 --- a/skills/resume/SKILL.md +++ b/skills/resume/SKILL.md @@ -1,4 +1,5 @@ --- +name: resume description: Resume an interrupted brief execution. Auto-detect progress, reconstruct state from git history and task statuses, and continue from the correct wave. Use when the user wants to continue a previously interrupted ship session. --- diff --git a/skills/retro/SKILL.md b/skills/retro/SKILL.md index 30dd687..fb12286 100644 --- a/skills/retro/SKILL.md +++ b/skills/retro/SKILL.md @@ -1,4 +1,5 @@ --- +name: retro description: Engineering retrospective from git history. Team metrics, contributor deep-dives, trends, and actionable insights. Use when the user wants a retrospective on recent development activity. --- diff --git a/skills/review/SKILL.md b/skills/review/SKILL.md index 7cf8f9d..d7c0fe2 100644 --- a/skills/review/SKILL.md +++ b/skills/review/SKILL.md @@ -1,4 +1,5 @@ --- +name: review description: Paranoid two-pass code review. CRITICAL issues that block shipping, then INFORMATIONAL advisory findings. Interactive resolution for critical issues. Use when the user wants a code review on their current feature branch. --- diff --git a/skills/ship/SKILL.md b/skills/ship/SKILL.md index fe6921b..5ea0180 100644 --- a/skills/ship/SKILL.md +++ b/skills/ship/SKILL.md @@ -1,4 +1,5 @@ --- +name: ship description: Ship a Hamster Studio brief. Merge base, implement in parallel waves, test, review, create bisectable commits, and optionally PR. Use when the user wants to execute or ship a brief. ---