Skip to content

Latest commit

 

History

History
141 lines (93 loc) · 4.17 KB

File metadata and controls

141 lines (93 loc) · 4.17 KB

Contributing to WorkGrid Studio

Thank you for your interest in contributing! This document explains how to get involved, report issues, and submit changes.

Table of Contents


Code of Conduct

By participating in this project you agree to be respectful and constructive in all interactions. We will not tolerate harassment, discrimination, or personal attacks of any kind.


Reporting Bugs

Before filing a bug report, please:

  1. Search existing issues to avoid duplicates.
  2. Reproduce the issue on the latest release.
  3. Check the SECURITY.md — if the bug is a security vulnerability, do not open a public issue.

When ready, open a new issue using the Bug Report template and fill in all requested fields.


Requesting Features

Feature requests are welcome. Before submitting:

  1. Search existing issues to see if it has already been proposed.
  2. Consider whether the feature fits the scope of a desktop database management tool.

Open a new issue using the Feature Request template and describe the problem you are trying to solve, not just the solution.


Development Setup

See the README for full install instructions. Quick summary:

# 1. Install Node.js (LTS) and enable pnpm
corepack enable && corepack prepare pnpm@latest --activate

# 2. Install Rust stable
rustup default stable

# 3. Install Tauri system prerequisites
# https://v2.tauri.app/start/prerequisites/

# 4. Clone the repo and install dependencies
git clone https://github.com/<owner>/workgrid-studio.git
cd workgrid-studio
pnpm install

# 5. Start the full desktop app in development mode
pnpm tauri dev

Submitting a Pull Request

  1. Fork the repository and create a branch from main:

    git checkout -b feat/your-feature-name
  2. Make your changes. Keep commits focused — one logical change per commit.

  3. Validate before pushing:

    pnpm lint
    pnpm build

    This runs ESLint, tsc, the Vite build, and version consistency checks. Fix all errors before opening a PR.

  4. Pre-commit hooks run automatically after pnpm install. Husky runs pnpm lint and pnpm build before each commit so broken changes are caught locally.

  5. Push your branch and open a pull request against main.

  6. Fill in the pull request description, including:

    • What the change does and why.
    • Any related issue numbers (Closes #123).
    • Screenshots or screen recordings for UI changes.
  7. A maintainer will review your PR. Please be responsive to feedback. PRs with no activity for 30 days may be closed.

Pull request checklist

  • ESLint passes (pnpm lint)
  • TypeScript strict mode passes (pnpm build)
  • No // @ts-ignore or // @ts-expect-error added without justification
  • UI changes tested in both light and dark themes
  • Version files not manually edited (package.json is the single source of truth)
  • No secrets, credentials, or personal data included

Coding Guidelines

  • Follow the conventions described in CLAUDE.md.
  • Use functional components and hooks — no class components.
  • Use the cn() helper for conditional Tailwind classes.
  • Use crypto.randomUUID() for ID generation.
  • Keep components focused; avoid mixing unrelated concerns in a single file.
  • Keep lint clean and prefer fixing warnings at the source instead of suppressing them.

Commit Messages

Use the Conventional Commits format:

<type>(<scope>): <short summary>

Common types: feat, fix, refactor, style, docs, chore, ci.

Examples:

feat(query-tab): add explain plan view
fix(session): handle reconnect on connection drop
docs: update contributing guide

Keep the summary under 72 characters and written in the imperative mood ("add", not "added" or "adds").