Thank you for your interest in contributing to Eclipse Docks.
By contributing, you agree that your contributions will be licensed under the Eclipse Public License 2.0 (EPL-2.0).
Before your first contribution can be accepted, you must complete the Eclipse Contributor Agreement (ECA). The ECA is a one-time agreement that applies to all Eclipse Foundation projects.
- Open an issue — For bugs or feature requests, open an issue to discuss.
- Fork and clone — Fork the repository and clone your fork locally.
- Create a branch — Use a short, descriptive branch name (e.g.
fix/command-palette,feat/settings-panel). - Make changes — Follow the existing code style and run the test suite.
- Commit — Use clear commit messages. Sign off your commit (e.g.
git commit -s) to confirm the ECA. - Push and open a PR — Push your branch and open a pull request against
main. Reference any related issues.
git clone https://github.com/eclipse-docks/core.git
cd core
npm install
npm run dev # run the default app
npm run test # run unit tests (Vitest in core)
npm run build:app # build core and app
npm run type-check # TypeScript check- Unit tests:
npm run test— Vitest in@eclipse-docks/core. - End-to-end:
npm run test:e2e— Playwright against the minimal app inpackages/app-e2e(builds core + E2E shell, serves preview, runs specs inpackages/app-e2e/e2e/). Install browsers once:
npm run playwright:install-chromium
(on fresh Linux CI images usenpm run playwright:install-chromium-ci, as in .github/workflows/ci.yml). - E2E harness and strategy (tab order, coupled-editor specs, CI behavior): see packages/app-e2e/README.md.
- Keep changes focused; prefer smaller PRs.
- Ensure
npm run test,npm run type-check, andnpm run test:e2epass when your change affects UI, contributions, or extension loading. - New features or API changes may require updates to docs under
docs/.
For questions or discussion, open a GitHub Discussion or an issue.