Skip to content

Latest commit

 

History

History
92 lines (64 loc) · 2.3 KB

File metadata and controls

92 lines (64 loc) · 2.3 KB

Contributions Guide

Thank you for considering a contribution to Tentacle.

Scope

Contributions are welcome for:

  • bug fixes
  • performance improvements
  • UX refinements
  • documentation
  • new service presets (if they fit the current product direction)

Before You Start

  1. Open an issue (or comment on an existing one) for non-trivial changes.
  2. Describe the problem, expected behavior, and approach.
  3. Wait for quick alignment before large refactors.

Local Setup

npm install
npm run tauri:dev

Alternative helper script:

./run.sh

Project Conventions

  • Keep changes focused and atomic.
  • Prefer explicit, readable code over clever shortcuts.
  • Avoid introducing remote runtime dependencies for core UI assets.
  • Keep comments concise and useful (only where behavior is non-obvious).
  • Do not commit generated build artifacts.

Frontend Guidelines

  • Tech stack: TypeScript + Vite + Tauri API.
  • Main entry: src/main.ts.
  • Keep UI state persistence behavior consistent with existing snapshot logic.
  • When changing layout/webview sizing logic, verify startup/restore/reopen flows on macOS.

Rust/Tauri Guidelines

  • Core backend entry: src-tauri/src/main.rs.
  • Storage layer: src-tauri/src/state.rs.
  • Keep command interfaces stable and camelCase-compatible for frontend payloads.
  • Validate inputs in commands that handle URLs, paths, and external actions.

Testing Checklist

Run before opening a PR:

npm run build
cargo check --manifest-path src-tauri/Cargo.toml

Recommended complete validation:

npm run test:all

Coverage policy is enforced by Vitest thresholds in CI.

Manual verification checklist:

  • close with window X -> app hides correctly
  • click Dock/Tray icon -> main window restores correctly
  • resized/moved window is restored after restart
  • embedded webview fills workspace after startup
  • notifications still work for enabled services
  • backup export/import still works

Pull Request Checklist

  1. Explain the problem and the chosen solution.
  2. Include screenshots/video for UI-impacting changes.
  3. Mention any migration impact for persisted settings/state.
  4. Keep PR size manageable; split unrelated work.
  5. Ensure all checks pass locally.

License

By contributing, you agree that your contributions are licensed under the MIT License.