[Feat]: Linked SQL folders: inspect Git changes and commit reviewed scripts

Open
#1,418 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
38/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
git, sql, tauri, typescript

Research direction

Read packages/web-ui/src/utils/sqlFileTransfer.ts for current SQL file saves and packages/web-ui/src/platform/capabilities.ts for environment-specific operations. Then trace the linked SQL-folder capability and desktop boundary described in the issue. Done means scoped status and diffs plus explicit commits meet the acceptance criteria, with tests against disposable repositories covering unrelated staged changes, unusual paths and failing hooks.

Written by the indexing model from the issue text.

Description

feature request help wanted
Prerequisites
  • I have written a descriptive issue title.
  • I have searched existing issues and open pull requests to avoid duplicating an existing feature request.
🚀 Feature Proposal

Add Git status, file diff and explicit commit for scripts under an approved linked SQL folder. Reuse the repository containing that folder and show the exact files being committed. First milestone excludes pull, push, branch switching and conflict resolution.

Motivation

Users should be able to review and version a SQL-script change without losing its database-editor context.

Example
Edit a report SQL file, inspect its working-tree diff and commit only the reviewed script while unrelated repository changes remain unstaged.
Acceptance criteria
  • Detect the actual repository/root and show script status without scanning or exposing files outside the approved folder.
  • Show selected-file diffs and stage/commit only explicitly reviewed files; preserve unrelated staged changes and refuse an unsafe commit scope.
  • Invoke Git through argument arrays, report missing Git/hooks/signing/errors, serialize mutations per repository and never discard a draft or run reset/clean automatically.
  • Handle external repository changes during review, renamed/deleted files and a linked folder nested inside a larger repository.
  • Test against disposable repositories with unrelated staged changes, unusual paths and a failing hook; commit only on explicit user action. State desktop-only availability initially.
Where to start
  • packages/web-ui/src/utils/sqlFileTransfer.ts owns current SQL file saves.
  • packages/web-ui/src/platform/capabilities.ts defines environment-specific operations.
  • Build on the linked SQL-folder capability and put Git orchestration behind the desktop boundary, with independently testable plain/shared logic where appropriate.

Boundary: status/diff and explicit scoped commit. Remote operations, branch management, merge conflict editing and a general-purpose Git client are outside this milestone.

Related proposals: #1409, #1410.

Contributor notes
  • Follow AGENTS.md and the repository rules. Run GitNexus upstream impact analysis before editing existing symbols and report the blast radius.
  • Add new UI strings to every locale under packages/web-ui/src/i18n/locales/; use design tokens, keyboard access and visible focus.
  • Keep pure frontend helpers under packages/web-ui/src/utils/ and tests in the matching packages/web-ui/tests/ paths. Run focused tests, typecheck and relevant repository checks.
  • Shared backend behavior belongs in src-tauri/src/application/ or plain modules. Keep Tauri code under transport/desktop/, expose shared web behavior when applicable and preserve cargo check --no-default-features from src-tauri/ for backend changes.
  • Questions? Ask here or on Discord.
Dominant language
TypeScript
Stars
5.1k
Forks
335
Avg merge
1d 11h
Merged PRs (30d)
280

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from TabularisDB/tabularis

All issues in TabularisDB/tabularis

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.