-
Notifications
You must be signed in to change notification settings - Fork 456
Add AGENTS.md (comprehensive agent guide) #716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
PeterDaveHello
wants to merge
1
commit into
master
Choose a base branch
from
AGENTS.md
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,50 @@ | ||||||||||
| # Repository Guidelines | ||||||||||
|
|
||||||||||
| ## Dos and Don'ts | ||||||||||
| - Do install dependencies with `yarn` (classic Yarn v1) after checkout so postinstall scripts set up Electron and Husky hooks correctly. | ||||||||||
| - Do run targeted Jest suites first, e.g. `yarn test app/lib/__tests__/loadThemes.spec.js`, before running the full suite. | ||||||||||
| - Do follow the existing two-space indentation and no-semicolon style when editing JavaScript/TypeScript files. | ||||||||||
| - Do reference existing Webpack aliases (e.g. `main/...`, `lib/...`, `plugins/...`) instead of rewriting import paths. | ||||||||||
| - Don't switch package managers or bump Node/Electron versions without coordinating updates to `package.json`, `electron-builder.json`, and CI workflows. | ||||||||||
| - Don't mass-reformat files or reorganize modules; keep diffs minimal and scoped to the task at hand. | ||||||||||
|
|
||||||||||
| ## Project Structure and Module Organization | ||||||||||
| - Electron app with React renderer lives under `app/`; `app/main` is the primary renderer UI, `app/background` handles background tasks, and `app/lib` hosts shared utilities. | ||||||||||
| - Core and external plugin logic resides in `app/plugins`; `app/plugins/core` contains built-in plugins and supporting helpers. | ||||||||||
| - Webpack, Babel, Jest, and TypeScript configs are defined at the repo root (`webpack.config.*.js`, `babel.config.js`, `jest.config.js`, `tsconfig.json`). | ||||||||||
| - Release assets, icons, and installer scripts live in `build/`; Electron Builder configuration is in `electron-builder.json`. | ||||||||||
| - Continuous Integration workflows that run tests and releases are under `.github/workflows/` (`pr.yml`, `build.yml`). | ||||||||||
| - Top-level entry points include `server.js` (hot-reload dev server) and `app/main.development.js` (Electron main process during development). | ||||||||||
|
|
||||||||||
| ## Build, Test, and Development Commands | ||||||||||
| - Install dependencies with `yarn`; this also runs `electron-builder install-app-deps` and enables Husky commit hooks. | ||||||||||
| - Launch the hot-reload development loop with `yarn dev` (spawns the Webpack hot server and a development Electron window). | ||||||||||
| - For production smoke tests run `yarn build` first (emits `app/main.js` and `app/dist` bundles), then launch Electron with `yarn start`. | ||||||||||
| - Build artifacts with `yarn build` (renders both main and renderer bundles) or package distributables with `yarn package` / `yarn release` as defined in `package.json`. | ||||||||||
| - Run focused Jest suites via `yarn test <path-or-pattern>`; for example `yarn test app/main/actions/__tests__/search.spec.js` exercises action creators. The default `yarn test` executes all suites with coverage (`collectCoverage: true`). | ||||||||||
|
||||||||||
| - Run focused Jest suites via `yarn test <path-or-pattern>`; for example `yarn test app/main/actions/__tests__/search.spec.js` exercises action creators. The default `yarn test` executes all suites with coverage (`collectCoverage: true`). | |
| - Run focused Jest suites via `yarn test <path-or-pattern>`. | |
| - For example, `yarn test app/main/actions/__tests__/search.spec.js` exercises action creators. | |
| - The default `yarn test` executes all suites with coverage (`collectCoverage: true`). |
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.