Skip to content

feat: add npm keywords, fixture gallery, CLI converters, and GitHub Action#102

Merged
jpr5 merged 6 commits into
mainfrom
feat/adoption-dx
Apr 10, 2026
Merged

feat: add npm keywords, fixture gallery, CLI converters, and GitHub Action#102
jpr5 merged 6 commits into
mainfrom
feat/adoption-dx

Conversation

@jpr5

@jpr5 jpr5 commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

Summary

The DX release — everything to make aimock easier to discover, adopt, and integrate.

  • npm keywords — 30 keywords for search discoverability
  • Fixture gallery — 11 example fixtures + browsable docs page at /examples
  • CLI converter subcommandsnpx aimock convert vidaimock/mockllm + docs on CLI page
  • GitHub Actionuses: CopilotKit/aimock@v1 for one-line CI setup + docs page
  • Vitest pluginimport { useAimock } from "@copilotkit/aimock/vitest" with auto lifecycle + env patching
  • Jest pluginimport { useAimock } from "@copilotkit/aimock/jest" same API
  • Publish workflow — strips video URLs from README for npm

Usage

Vitest

import { useAimock } from "@copilotkit/aimock/vitest";

const mock = useAimock({ fixtures: "./fixtures" });

it("responds", async () => {
  // mock().url is the server URL
  // OPENAI_BASE_URL is auto-patched
  const res = await myApp.chat("hello");
});

GitHub Action

- uses: CopilotKit/aimock@v1
  with:
    fixtures: ./test/fixtures
- run: npm test
  env:
    OPENAI_BASE_URL: http://127.0.0.1:4010/v1

Converter CLI

npx aimock convert vidaimock ./templates/ ./fixtures/
npx aimock convert mockllm ./config.yaml ./fixtures/

Test plan

  • All 2303 tests pass
  • Build passes (vitest.js, jest.js, vitest.d.ts, jest.d.ts all emitted)
  • Sub-path exports resolve correctly
  • CR loop converged

🤖 Generated with Claude Code

@pkg-pr-new

pkg-pr-new Bot commented Apr 10, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@copilotkit/aimock@102

commit: e9a146b

@jpr5
jpr5 force-pushed the feat/adoption-dx branch 2 times, most recently from 41e0990 to 71eddf3 Compare April 10, 2026 18:55
@jpr5 jpr5 changed the title Add npm keywords, fixture gallery, and CLI converter subcommands feat: add npm keywords, fixture gallery, CLI converters, and GitHub Action Apr 10, 2026
@jpr5
jpr5 force-pushed the feat/adoption-dx branch 13 times, most recently from bdd8523 to f8c5bb9 Compare April 10, 2026 22:52
@jpr5
jpr5 force-pushed the feat/adoption-dx branch from f8c5bb9 to e9a146b Compare April 10, 2026 22:54
@jpr5
jpr5 merged commit 526c4c8 into main Apr 10, 2026
22 checks passed
@jpr5
jpr5 deleted the feat/adoption-dx branch April 10, 2026 22:55
jpr5 added a commit that referenced this pull request Jul 15, 2026
…ction (#102)

## Summary

The DX release — everything to make aimock easier to discover, adopt,
and integrate.

- **npm keywords** — 30 keywords for search discoverability
- **Fixture gallery** — 11 example fixtures + browsable docs page at
/examples
- **CLI converter subcommands** — `npx aimock convert vidaimock/mockllm`
+ docs on CLI page
- **GitHub Action** — `uses: CopilotKit/aimock@v1` for one-line CI setup
+ docs page
- **Vitest plugin** — `import { useAimock } from
"@copilotkit/aimock/vitest"` with auto lifecycle + env patching
- **Jest plugin** — `import { useAimock } from
"@copilotkit/aimock/jest"` same API
- **Publish workflow** — strips video URLs from README for npm

## Usage

### Vitest
```ts
import { useAimock } from "@copilotkit/aimock/vitest";

const mock = useAimock({ fixtures: "./fixtures" });

it("responds", async () => {
  // mock().url is the server URL
  // OPENAI_BASE_URL is auto-patched
  const res = await myApp.chat("hello");
});
```

### GitHub Action
```yaml
- uses: CopilotKit/aimock@v1
  with:
    fixtures: ./test/fixtures
- run: npm test
  env:
    OPENAI_BASE_URL: http://127.0.0.1:4010/v1
```

### Converter CLI
```bash
npx aimock convert vidaimock ./templates/ ./fixtures/
npx aimock convert mockllm ./config.yaml ./fixtures/
```

## Test plan
- [x] All 2303 tests pass
- [x] Build passes (vitest.js, jest.js, vitest.d.ts, jest.d.ts all
emitted)
- [x] Sub-path exports resolve correctly
- [x] CR loop converged

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant