YOUR changes made unused.
- Don't remove pre-existing dead code unless asked.
The test: Every changed line should trace directly to the user's request.
## 4. Goal-Driven Execution
15k2mo agoReviewMountCreate a free account to mount
make codegen`, which re-fetches them before generating.
Create or update tests covering affected codepaths and run them using `pnpm run test`.
When writing or fixing tests, follow
15k2mo agoReviewMountCreate a free account to mount
Code style
- Do not add Go tests (`_test.go`) unless explicitly asked.
- Keep comments sparse: only for genuinely non-obvious mechanics, not one per block.
# Frontend migration
No other project uses it yet
15k26d agoReviewMountCreate a free account to mount
Bazel as its build system. Never use `npm`, `yarn`, or `pnpm` for building or testing.
```bash
bazel test //... # All tests
bazel test //packages/intl-localematcher:unit_test # Specific package
bazel build //packages/intl-localematcher
15k3mo agoReviewMountCreate a free account to mount
Development Commands
Claude can run these directly to build, test, and lint the codebase:
* **Build:** `pnpm compile` (add `--watch` flag to monitor)
* **Test:** `TEST_FILES=<name of file(s), comma
15k11d agoReviewMountCreate a free account to mount
GOOS=windows GOARCH=amd64 go build ./cmd/hack-browser-data/
GOOS=linux GOARCH=amd64 go build ./cmd/hack-browser-data/
# Test
go test ./...
go test -v ./... -covermode=count -coverprofile=coverage.out
# Lint (requires golangci-lint v2)
golangci
15k7mo agoReviewMountCreate a free account to mount
json` and `fr/*.json`.
**Platform abstraction** — Never use `process.platform` directly. Import from `apps/desktop/src/main/platform/`. CI tests all three platforms.
**No time estimates** — Provide priority-based ordering instead of duration predictions
15k11mo agoReviewMountCreate a free account to mount
responding to the user:
- [ ] Update `lat.md/` if you added or changed any functionality, architecture, tests, or behavior
- [ ] Run `lat check` — all wiki links and code refs must pass
15k5mo agoReviewMountCreate a free account to mount
here.
---
## Tech stack (project-wide)
- **Java 1.8** (do not assume 11+ APIs; `dolphinscheduler-api-test` is the only Java 11 island).
- **Spring Boot 2.6.1** across servers, **Jetty** (Tomcat is excluded
15k2mo agoReviewMountCreate a free account to mount
plugin, not in the server. Don't add a global retry loop in `AlertSender`.
## Tests
- `alert-server/src/test/java` — unit tests for config, RPC, event queue, sender.
- Each plugin
15k2mo agoReviewMountCreate a free account to mount
endpoints (`@Operation`, `@Parameter`). Missing ones break auto-generated docs the UI team consumes.
## Tests
Unit tests live in `src/test/java`. **Integration tests live in `dolphinscheduler-api-test`** (separate module, Docker Compose
15k2mo agoReviewMountCreate a free account to mount
CLAUDE.md — dolphinscheduler-api-test
Integration test harness for the REST API. **Not** bundled into the release — this module exists to run curl-style black-box tests against a full DolphinScheduler
15k2mo agoReviewMountCreate a free account to mount
real infrastructure. When reading code that takes an `AwsConfig` map, expect either style.
## Tests
Minimal — auto-config wiring only. End-to-end auth is covered by `dolphinscheduler-api-test`.
## Related
15k2mo agoReviewMountCreate a free account to mount
canonical shutdown contract across every server; do not invent a new lifecycle interface.
## Tests
Standard `src/test/java`. No special infra.
## Related modules
- `dolphinscheduler-spi` — uses `common` as `provided`; keep
15k2mo agoReviewMountCreate a free account to mount
internally for its own plugin connections, but the core DolphinScheduler metadata DB uses HikariCP.
## Tests
`src/test/java` — a mix of unit and Testcontainers-based integration tests. The database-dialect-specific paths
15k2mo agoReviewMountCreate a free account to mount
MySQL 5.7+ (production).
- `dolphinscheduler-dao-postgresql` — PostgreSQL 9.6+ (production).
- `dolphinscheduler-dao-h2` — H2 (dev / tests / standalone server).
## How the right dialect is picked
Each sub-module registers a `@AutoConfiguration` class
15k2mo agoReviewMountCreate a free account to mount
Trino, Redshift, Snowflake, …). Used by the SQL-style task plugins, the API for connection testing, and the data-lineage tool.
**This directory is a Maven parent POM.**
## Sub-modules
### Framework
15k2mo 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.