See TODO.md for the current punch list of outstanding work. When working in an area
touched by an open item there, surface it and offer to address it — don't silently
ignore it. Once you're confident an item is fully resolved, delete its line rather than
marking it done. Whenever you touch TODO.md, also normalize its formatting: under each
of the two headers, plain - bullet syntax, one item per line, no stray blank lines.
TODO.md always has this baseline present, even when both sections are empty:
# TODO
-
# Future
-
Eyas — a QA/testing desktop application built with Electron, Vue 3, and TypeScript. Eyas simplifies hands-on testing for web applications, allowing teams to quickly bundle and test changes in any state before release. Built with electron-vite for fast development iteration.
# Local development (Electron + dev server)
npm run dev
# Type checking
npm run type-check
# Linting
npm run lint
# Run all tests
npm run check
# Test Suites (targeted)
npm run test:electron:unit # Electron core tests (vitest)
npm run test:interface:unit # Vue interface tests (vitest)
npm run test:demo:unit # Demo app tests (vitest)
npm run test:electron:e2e # End-to-end tests (Playwright)
# Compilation
npm run compile:build # Build Electron app
npm run compile:runner # Compile platform runners
npm run compile:mac # Full macOS build + sign + notarize
npm run compile:installer # Platform-specific installer build
# Code auditing
npm run audit-dead-code # Find unused codePrefer the codebase-memory-mcp tools for code exploration:
search_graph(name_pattern/label/qn_pattern)— Find functions/classes/routes by nametrace_path(function_name, mode=calls|data_flow|cross_service)— Trace call chains or data flowget_code_snippet(qualified_name)— Get exact source with precise line rangesquery_graph(cypher_query)— Complex graph pattern queriessearch_code(pattern)— Text search augmented by graph data
Only fall back to Grep/Glob for text in non-code files (configs, docs) or when the graph doesn't have an answer. Project name for codebase-memory: Users-erichigginson-repos-eyas.
See AGENTS.md (root) for comprehensive engineering standards covering:
- Core philosophy (Strategic Narrative Planning, "Stop. Think. Plan. Verify. Only then, Code.")
- BDD (Behavior-Driven Development) approach and mandatory testing standards
- TypeScript, DRY, linting, and type safety conventions
- Refactoring, efficiency tiers, and verification gates
- Technology stack, patterns, and operational workflows
Refer to module-level AGENTS.md files for area-specific patterns and constraints:
src/types/AGENTS.md— Type registry, interface conventions, and semantic namingsrc/eyas-core/AGENTS.md— Electron core process, IPC patterns, and main-thread standardssrc/eyas-interface/AGENTS.md— Vue 3 interface, component patterns, and state managementsrc/eyas-interface/app/src/AGENTS.md— Interface-specific organizational patternssrc/eyas-interface/app/src/components/AGENTS.md— Component standards and testing patternssrc/scripts/AGENTS.md— Script execution and tooling patternstests/AGENTS.md— Test organization, frameworks, and verification strategies
This project includes 7 Eyas-specific Claude Code skills in .claude/skills/. They auto-invoke based on task context and provide domain-specific guidance.
/vue-interface-standards— Vue 3 components and Composition API/electron-core-standards— Electron main process architecture and IPC patterns
/testing-standards— Vitest execution, mocking, and test organization/type-registry-standards— Type definitions and registry organization
/electron-e2e-testing— Playwright E2E test strategies and synchronization/active-test-content-gating— Post-mortem on visibility gating patterns
Generic, project-agnostic skills (planning, BDD philosophy, post-mortems, refactoring patterns, TypeScript gotchas, feature flagging, config/directory auditing) now live at the user level (~/.claude/skills/) and apply automatically without needing an entry here — see .claude/skills/README.md for the full breakdown of what moved.
See .claude/skills/README.md for the complete skills index and auto-invocation triggers.
- Adding a Vue component: See
/vue-interface-standardsskill andsrc/eyas-interface/app/src/components/AGENTS.md - Modifying Electron core: See
/electron-core-standardsskill andsrc/eyas-core/AGENTS.md - Writing tests: See
/testing-standardsskill
- Node version: Check
.nvmrcfor required version - Dependencies: Run
npm installafter cloning - TypeScript:
npm run type-checkfor compile verification - Linting:
npm run lintfor style enforcement - Pre-commit: Configured hooks run linting and type checks on staged files
- Plan: Write Strategic Narrative (see
/cognitive-pre-processor) - BDD: Write test case headers (it.todo) before implementation (see
/bdd-planning) - Test: Write tests, verify they fail (Red phase)
- Code: Implement to make tests pass (Green phase)
- Refactor: Clean up while tests still pass (Refactor phase)
- Verify: Run
npm run checkbefore committing - Post-mortem: Capture learnings for future tasks (see
/perform-post-mortem)