feat(emulate): add Emulate plugin to marketplace#144
Merged
Conversation
Add local drop-in API emulator for Vercel, GitHub, Google, Slack, Apple, Microsoft, and AWS to the plugin marketplace.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces the emulate plugin, which provides a local drop-in API emulator for various services including Vercel, GitHub, and AWS. The changes include updating the marketplace configuration, adding documentation to the README, and setting up the plugin's metadata and skills. A review comment correctly identified that the author field was missing from plugin.json, which is required for plugins representing external projects to properly credit the upstream organization.
There was a problem hiding this comment.
No issues found across 6 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Architecture diagram
sequenceDiagram
participant Agent as Claude Agent
participant Market as Marketplace Registry
participant CLI as Emulate CLI (Local)
participant Core as Emulator Core (Hono/Store)
participant App as Developer Application
Note over Agent,Market: Plugin Discovery & Installation
Agent->>Market: NEW: Fetch metadata for 'emulate'
Market-->>Agent: Return source path & install command
Note over Agent,Core: Plugin Execution (Skill Usage)
Agent->>Agent: Parse SKILL.md for tool definitions
Agent->>CLI: NEW: Execute 'npx emulate --service github'
CLI->>CLI: Load emulate.config.yaml (if present)
CLI->>Core: Initialize Hono server & stateful Store
Core-->>CLI: Server listening (e.g., :4001)
CLI-->>Agent: Output: "GitHub emulator started at http://localhost:4001"
Note over App,Core: Runtime API Emulation
App->>App: GITHUB_EMULATOR_URL=http://localhost:4001
App->>Core: Request (e.g., POST /repos/owner/repo)
Core->>Core: Authenticate via Bearer Token/Seed
alt Found in Store
Core->>Core: Update local state (Collection<T>)
Core-->>App: 201 Created (Mock Data)
else Missing Data
Core-->>App: 404 Not Found
end
Note over Agent,Core: Control Flow (e.g., Testing)
Agent->>CLI: NEW: Execute 'emulate reset'
CLI->>Core: Wipe Store & Replay Seed Data
Core-->>CLI: Success
CLI-->>Agent: Store reset to initial state
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.claude-plugin/marketplace.jsonplugins/emulatetorelease-please-config.jsonfor versioningTest plan
plugins/emulate/.claude-plugin/plugin.jsonis valid (claude plugin validate plugins/emulate)/plugin install emulate@pleaseaiSummary by cubic
Adds the
emulateplugin to the marketplace for local, drop-in API emulation of Vercel, GitHub, Google, Slack, Apple, Microsoft, and AWS. Install with/plugin install emulate@pleaseaiand use it to run emulated services for dev and CI.emulatewith description, tags, and source path.skills-lock.jsonunderplugins/emulate.plugins/emulatetorelease-please-config.jsonfor versioning.Written for commit 03830d4. Summary will update on new commits.