[Feat]: SQL editor: opt-in AI inline completion
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- rust, sql, tauri, typescript
- Domain
- ai, backend-api-design, database
Research direction
Start with packages/web-ui/src/components/ui/SqlEditorWrapper.tsx for the Monaco lifecycle, then read packages/web-ui/src/utils/autocomplete.ts to understand existing completion behavior. Trace the AI support through src-tauri/src/application/ai.rs, src-tauri/src/ai.rs, and src-tauri/src/ai_schema_context.rs, coordinating with provider refactoring PR #1337. Done means the opt-in completion meets the listed privacy, cancellation, keyboard, undo, and execution-safety criteria, with the specified tests and repository checks.
Written by the indexing model from the issue text.
Description
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 optional AI-generated SQL continuations rendered as ghost text at the cursor. Accepting a suggestion inserts editor text; it never executes SQL.
Motivation
Small context-aware continuations can reduce typing without opening a separate generation dialog.
Example
Start a join against a known table and accept a suggested continuation using the editor's explicit acceptance action.
Acceptance criteria
- Default to disabled and allow provider/model selection through existing AI configuration, including supported local providers.
- Use a bounded prefix/suffix and schema context, disclose what is sent and avoid sending result rows or credentials implicitly.
- Debounce requests, cancel on context/model/editor changes, suppress during IME composition and discard stale responses.
- Coordinate acceptance/dismissal keys with autocomplete, indentation and accessibility; one accepted insertion is one editor undo step.
- Test request cancellation, provider failures, context switching, conflicting completion widgets and the guarantee that acceptance never triggers execution.
Where to start
packages/web-ui/src/components/ui/SqlEditorWrapper.tsxowns editor/Monaco lifecycle.src-tauri/src/application/ai.rs,src-tauri/src/ai.rsandsrc-tauri/src/ai_schema_context.rsimplement existing AI support.packages/web-ui/src/utils/autocomplete.tshandles ordinary completion; preserve its behavior. Coordinate with provider refactoring PR #1337.
Boundary: optional editor text completion; no autonomous query execution, automatic data access or new provider credential store.
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 matchingpackages/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 undertransport/desktop/, expose shared web behavior when applicable and preservecargo check --no-default-featuresfromsrc-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
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TabularisDB/tabularis
-
[Feat]: Text viewer: show character, line and UTF-8 byte countsPossibly taken @maxteneff claimed this 1 day ago. Openfeature request good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
TabularisDB/tabularis#1395 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
TabularisDB/tabularis#1434 ·
Maintainers usually reply within 1 day
-
[Bug]: SQLite REAL values of infinity show as NULL in the data gridPossibly taken @markankamaransheogarat-sys claimed this today. Open
TabularisDB/tabularis#1433 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
feature request help wanted
Difficulty 5/5 Over a week Newbie friendliness 38/100
TabularisDB/tabularis#1418 ·
Maintainers usually reply within 1 day
-
[Feat]: SQL editor: reusable snippets with tab-stop placeholdersPossibly taken @markankamaransheogarat-sys claimed this 1 day ago. Openfeature request help wanted
Difficulty 5/5 Over a week Newbie friendliness 35/100
TabularisDB/tabularis#1417 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
All issues in TabularisDB/tabularis
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
backnotprop/plannotator#2914 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/vscode-containers#655 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
dsh-tauri-desk/deepseek-harness-desktop#1477 · 1 comment ·