Skip to content

Latest commit

 

History

History
88 lines (64 loc) · 4.14 KB

File metadata and controls

88 lines (64 loc) · 4.14 KB

Agent Guide

Conventions and architecture for agents working in this repository.

Product

Forward is a desktop app that guides users through Flow Core migration and automates parts of that workflow.

Design goals:

  • Step-by-step migration tasks, fixed order.
  • Automate repetitive/error-prone work (SNG update, Flow Package download, config changes, ...).
  • Clear progress, blockers, manual follow-ups.
  • Backup data before destructive/automated actions; restore at checkpoints.

Prefer guided flows with checkpoints over open-ended tools. Always provide feedback to, say what changed and what did not.

Orientation

Runtime Electron 42
UI React 19
Styling Tailwind CSS 4
DI tsyringe + reflect-metadata
Language TypeScript 6
Bundler Vite 8 via Electron Forge
Lint / format oxlint + oxfmt
Command Purpose
npm start Development
npm run package Package without installers
npm run make Platform installers
npm run lint Check lint and format
npm run lint:fix Auto-fix lint and format

Run npm run lint after substantive changes.

Agent rules

Detailed conventions in .cursor/rules/ — auto-load when matching files in context:

Rule When it applies
project-structure Working under src/
electron-build Forge/Vite configs, CSS, TSX
service-injection Services, DI bootstrap, IPC, preload
logging TypeScript under src/
code-style TS/TSX and build configs
commit-style All files (commit messages)

Extended guides: docs/ (DI, IPC, lifecycle, processes).

Testing

Layer Tool Scope
Unit Vitest services/, utils/ — colocated *.spec.ts, pure logic in Node, no Electron
Integration Vitest + mocks IPC contracts + main-service handlers with Electron APIs mocked (*.spec.ts)
E2E Playwright for Electron Full migration paths through real app

Auto-update and distribution

Topic Decision
Packaging Squirrel.Windows via @electron-forge/maker-squirrel (only active maker in forge.config.ts)
Install lifecycle electron-squirrel-startup handles Windows shortcut create/remove on install/uninstall
Distribution Internal Omron release to field engineers
Auto-update Out of scope until requested

Platform targets

Platform Status
Windows 10+ v1 target — Squirrel installer via npm run make
macOS Out of scope until requested
Linux Out of scope until requested

i18n

Out of scope until requested.

Agent boundaries

  • Do not commit .env, credentials, or signing keys.
  • Do not push without explicit approval.
  • Do not enable nodeIntegration or disable contextIsolation without security review + sign-off.