Skip to content

Roadmap: build RockQL from compiler MVP to v1.0 #3

Description

@SayanthRock

Goal

Build RockQL into a readable data-pipeline language, compiler, local database playground, visual editor, and cross-platform developer tool without expanding into database administration or write operations.

Compiler foundation starts in #1.

v0.1 — Compiler foundation

  • Rust workspace and crate boundaries.
  • AST with source spans.
  • Parse from, filter, select, derive, sort, and take.
  • Multiline and pipe-separated source.
  • Generic SQL, SQLite, and PostgreSQL output foundation.
  • CLI commands: compile, check, ast, and format.
  • Formatting, Clippy, tests, release build, and example CI.
  • Add a real expression lexer and parser instead of preserving expression text.
  • Add identifier, literal, operator, function-call, date, range, and null-coalescing AST nodes.
  • Add resolver diagnostics for unknown names and invalid transformation order.
  • Add relational intermediate representation.
  • Add snapshot test harness and dialect fixtures.
  • Add MySQL and DuckDB generators.
  • Add signed Linux, Windows, and macOS release binaries with checksums.

v0.2 — Web playground

  • WebAssembly compiler package.
  • React, TypeScript, and Vite application.
  • Monaco RockQL syntax highlighting.
  • RockQL and generated SQL side by side.
  • Inline diagnostics with exact spans.
  • Dialect selector.
  • Formatter and copy/export actions.
  • CSV and JSON import.
  • Local DuckDB-Wasm execution.
  • Results, schema, explain, errors, and history panels.
  • Shareable query links.
  • Dark, light, mobile, tablet, and desktop layouts.

v0.3 — Data operations

  • join.
  • group and aggregate.
  • distinct, union, skip, and let.
  • Aggregate functions: count, sum, average, minimum, and maximum.
  • Variables, function calls, dates, ranges, and ??.
  • Name and type resolver.
  • PostgreSQL, MySQL, and DuckDB conformance tests.

v0.4 — Developer tooling

  • Dedicated formatter crate.
  • Language Server Protocol implementation.
  • VS Code extension.
  • Tree-sitter grammar.
  • Completion, hover, diagnostics, formatting, and go-to-definition.
  • JavaScript, Python, Java, and C binding foundations.

v0.5 — RockQL Studio

  • Visual pipeline editor.
  • Code-to-block and block-to-code synchronisation.
  • Source, filter, select, derive, join, group, aggregate, sort, limit, union, and output blocks.
  • Schema browser.
  • Local DuckDB execution.
  • CSV, JSON, and Parquet support.
  • Query history and reusable snippets.
  • Reviewable AI diffs for query generation, explanation, fixing, and optimisation.

v1.0 — Stable language and applications

  • Stable syntax specification.
  • Compatibility and deprecation policy.
  • Full reference documentation and book.
  • Compiler benchmarks and performance budgets.
  • Signed cross-platform releases.
  • Android app using Kotlin, Compose, Material 3, Room, and DataStore.
  • Android SQLite/SQLDelight execution and local file import.
  • Phone, tablet, and foldable layouts.
  • Biometric protection for saved credentials.
  • Desktop application.
  • Stable JavaScript and Python bindings.

Required workflows as components land

  • ci.yml.
  • security.yml.
  • rust-tests.yml.
  • wasm-build.yml.
  • web-build.yml.
  • android-build.yml.
  • docs.yml.
  • release.yml.

Boundaries

Do not add database administration, users/roles, migrations, INSERT, UPDATE, DELETE, cloud credential storage, team collaboration, paid AI services, or complex optimisation during the early releases.

Third-party code must retain its original licence, copyright notices, and attribution. RockQL branding, syntax extensions, compiler implementation, and user experience must remain distinct.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions