Skip to content

Latest commit

 

History

History
50 lines (34 loc) · 1.83 KB

CONTRIBUTING.md

File metadata and controls

50 lines (34 loc) · 1.83 KB

Contributing

PaintNode is currently in early MVP development. Contributions and issue reports are welcome once the repository is public, but please keep changes focused and aligned with the app's AI-companion architecture for local model CLIs and layered documents.

Development Setup

npm ci
npm run tauri:dev

Before Submitting Changes

Run:

npm run check
npm test
npm run build

All three must pass. npm run check must report 0 errors and 0 warnings.

Pull Requests

  • Keep pull requests focused on one bug fix, feature, or documentation change.
  • Fill in the pull request template and describe the validation you ran.
  • Wait for CI to pass before requesting review.
  • Do not include secrets, signing assets, private keys, or local environment files.
  • Changes to release signing, updater behavior, or GitHub Actions require extra maintainer review.

Contribution License

Unless explicitly stated otherwise, contributions are submitted under the same license as PaintNode: GNU General Public License v3.0 or later.

The PaintNode name, logo, icon, release channels, and other brand assets are reserved by White Cornerstone Pty Ltd. See TRADEMARKS.md.

Code Guidelines

  • Keep framework-agnostic engine logic in src/lib/engine/.
  • Keep Svelte runes and UI state in src/lib/state/ and src/lib/components/.
  • Prefer pure functions and dependency injection for engine logic so it stays unit-testable.
  • Use Fluent System Icons through src/lib/icons/index.ts and the shared Icon.svelte wrapper.
  • Icon-only controls need the shared tooltip action and an aria-label.
  • Follow AGENTS.md.example and design.md for project-specific UI and architecture conventions.

Release Changes

Release and updater changes should also update docs/release.md when the process changes.