Skip to content
Development
Agent

testing

All paths are relative to `apps/emdash-desktop/`.

From plugin
emdash
5.4k24 skills24 agents

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

All paths are relative to `apps/emdash-desktop/`.

Agent definition

testing.md

Testing And Validation

All paths are relative to `apps/emdash-desktop/`.

Core Local Gate

Run these before merging (from the repo root or `apps/emdash-desktop/`):

pnpm run format
pnpm run lint
pnpm run typecheck
pnpm run test

Test Layout

  • main-process tests: colocated in `src/main/core/**/*.test.ts`
  • renderer unit tests: `src/renderer/tests/`
  • renderer browser tests: `src/renderer/tests/browser/` (run via Playwright)

Current Setup

  • Vitest config is in `vitest.config.ts` (separate from the build config in `electron.vite.config.ts`).
  • Five test projects:
  • `node` — `src/**/*.test.ts` excluding `_*` dirs, browser tests, migration tests, `*.db.test.ts`, and `src/main/db/legacy-port/**/*.test.ts`
  • `main-db` — `src/main/core/**/*.db.test.ts` and `src/main/db/legacy-port/**/*.test.ts` against real SQLite
  • `fixtures` — fixture generator, run via `pnpm run db:fixtures`
  • `migrations` — `src/main/db/tests/migrations/**`, run via `pnpm run test:migrations`
  • `browser` — `src/renderer/tests/browser/**/*.test.{ts,tsx}` via Playwright
  • `pnpm run test` runs the `node`, `main-db`, `migrations`, and `browser` projects.
  • Tests use per-file `vi.mock()` setup.
  • Integration-style tests create temporary repos and worktrees in `os.tmpdir()`.

CI Notes

  • `.github/workflows/code-consistency-check.yml` uses `nx affected` to enforce

format:check, typecheck, and lint only for projects touched by the PR. Nx computes the affected set using `nrwl/nx-set-shas` and the PR base/head SHAs.

  • Tests are still expected locally before merging even though they are not enabled in that workflow yet.

Focused Validation

  • after IPC/RPC changes: rerun the affected Vitest file and confirm the controller is wired in `src/main/rpc.ts`
  • after worktree or PTY changes: rerun the closest `src/main/core/` test files
  • after schema changes: run `pnpm run db:fixtures` and `pnpm run test:migrations`
Read more
Ships withemdash

Emdash is the Open-Source Agentic Development Environment (🧡 YC W26). Run multiple coding agents in parallel. Use any provider.

Get the whole plugin
Stats
5,373
Stars
554
Forks
Active
Maintenance
TypeScript
Language
Apache-2.0
License
21h ago
Last commit
11mo ago
Created

Repo: generalaction/emdash