migrate:deploy # Deploy migrations to production
bun run seed # Seed database with initial data
```
### Testing & Linting
```bash
bun run test # Run tests (if configured)
```
## Architecture & Key Components
### Frontend Architecture
- **State
11k24mo agoReviewMountCreate a free account to mount
trperf`, `trglob`, `triconv`,
`trparse`, `trquery`, `trxml2`, etc.) as local .NET tools available via `dotnet `.
## Testing a Grammar
To test a grammar (e.g. `csharp/v8-spec`), follow these steps from the repo root
No other project uses it yet
11k43d agoReviewMountCreate a free account to mount
When adding or changing a `FormLayout` fieldtype, mirror the change in the CRM
manual-testing story at
`apps/crm/frontend/src/pages/stories/StaticSchema.story.vue` (in addition to this
repo's `src/components/FormLayout/stories/StaticSchema.story.vue`). The CRM story
is what
11k9mo agoReviewMountCreate a free account to mount
Docker Hub (requires login)
make all
```
Direct `docker buildx` invocation for multi-arch local test (mirrors CI):
```bash
docker buildx build --platform linux/amd64,linux/arm64 --output "type=image,push=false" --file
11k4mo agoReviewMountCreate a free account to mount
localhost:52345
npm run build # TypeScript compile + path alias resolution
npm run test # Run Jest tests with coverage
npm run lint # ESLint v9
npm run lint-fix # Auto-fix lint
11k2y agoReviewMountCreate a free account to mount
formatting (Prettier) and linting (ESLint)
npm run format # Auto-format with Prettier
npm run test # Run all tests (Vitest)
```
### Running a Single Test
```bash
npx vitest run path/to/file.spec.ts # Run specific
11k3mo agoReviewMountCreate a free account to mount
This applies to every tool available to you — file reads, greps, edits, bash commands, tests, builds — with no exceptions.
## This repository's license does not permit what
No other project uses it yet
11k4d agoReviewMountCreate a free account to mount
ruff check --fix . # Lint and auto-fix
uv run --extra dev pytest # Run all tests
uv run --extra dev pytest tests/test_desktop_views.py # Run a single test file
```
**Package manager
No other project uses it yet
11k7mo agoReviewMountCreate a free account to mount
Events Processor
## Build & Test
Run tests:
```
lago exec events-processor go test ./...
```
Direct `go build` / `go test` won't work locally due to CGO dependencies. Always use `lago exec
No other project uses it yet
11k4y agoReviewMountCreate a free account to mount
sets `.name = 'fooImpl'` and breaks it. See [wiki/hooks.md → Common pitfalls](wiki/hooks.md#common-pitfalls); guard test `modules/oms/tests/unit/hookNameAlignment.test.js`.
- **A widget `settingComponent` that reads a list setting as `watch('settings.x') ?? initial` works
No other project uses it yet
11k3y agoReviewMountCreate a free account to mount
icon flickers as the user switches windows
- Decision logic lives in `dockPolicy.js` (pure, unit-tested in `test/helpers/dockPolicy.test.js`)
- **dragManager.js**: Window dragging functionality
- **environment.js**: Environment variable and OpenAI API management
- **hotkeyManager.js**: Global
11k4mo agoReviewMountCreate a free account to mount
A file Claude Code reads at the start of every session. It holds the commands, conventions and warnings the agent needs for this project.
Where does it go?
At the repository root. Claude Code also reads CLAUDE.md files in subdirectories when it works there.
What should it contain?
Build and test commands, the project's layout, conventions that aren't obvious from the code, and mistakes to avoid. Short files tend to work better than long ones.
CLAUDE.md or AGENTS.md?
Claude Code reads CLAUDE.md; most other agents read AGENTS.md. Many projects keep one and point the other at it.