Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/DISCUSSION_TEMPLATE/ideas.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
labels: ["enhancement"]
---

<!-- Use this template to propose a new feature or capability before filing an issue.
Discussion lets the community weigh in before any implementation work starts. -->

## Summary

<!-- One-paragraph description of the feature idea. -->

## Motivation

<!-- What problem does this solve? Who benefits and how? -->

## Proposed API / CLI / Behaviour

<!-- Sketch the interface. For a library feature, show example Go code.
For a CLI feature, show the command and expected output. -->

```go
// example usage
```

## Alternatives considered

<!-- Did you consider other approaches? Why is this the right one? -->

## Willingness to contribute

- [ ] I can open an issue and submit a PR after community discussion
- [ ] I'd love help from maintainers / other contributors
- [ ] I'm just sharing an idea — no commitment
27 changes: 27 additions & 0 deletions .github/DISCUSSION_TEMPLATE/q-and-a.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
labels: ["question"]
---

<!-- Before posting: search existing discussions to avoid duplicates. -->

## What are you trying to do?

<!-- Describe your goal in one or two sentences. -->

## What have you tried?

<!-- Paste the code or command you ran. Use a code block (```) -->

```go
// your code here
```

## What happened?

<!-- What error or unexpected output did you get? -->

## Environment

- **GoSQLX version**: <!-- e.g. v1.9.0 -->
- **Go version**: <!-- e.g. go1.21.0 -->
- **OS**: <!-- e.g. Linux, macOS, Windows -->
26 changes: 26 additions & 0 deletions .github/DISCUSSION_TEMPLATE/show-and-tell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
labels: ["showcase"]
---

<!-- Share how you're using GoSQLX! Projects, integrations, benchmarks, blog posts — all welcome. -->

## What did you build?

<!-- Describe your project, tool, or integration in a few sentences. -->

## How are you using GoSQLX?

<!-- Which features are you using? What problem does it solve for you? -->

## Links

<!-- GitHub repo, blog post, demo, etc. -->

## Benchmark / impact (optional)

<!-- Query volume, performance gains, team size — anything that shows real-world impact. -->

---

*Want to be featured in the README's "Who's Using GoSQLX" section?
Mention it in your post or [open an issue](https://github.com/ajitpratap0/GoSQLX/issues/new?title=Add%20our%20project%20to%20users).*
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Funding options for GoSQLX
# These links appear as a "Sponsor" button on the repository

github: [ajitpratap0]
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
blank_issues_enabled: false

contact_links:
- name: 💬 Ask a question (GitHub Discussions)
url: https://github.com/ajitpratap0/GoSQLX/discussions/new?category=q-a
about: Usage questions, "how do I…" and general help
- name: 💡 Propose a feature idea (Discussions)
url: https://github.com/ajitpratap0/GoSQLX/discussions/new?category=ideas
about: Discuss a new feature before filing an issue
- name: 📖 Documentation (pkg.go.dev)
url: https://pkg.go.dev/github.com/ajitpratap0/GoSQLX
about: API reference and generated docs
- name: 🔒 Security vulnerability
url: https://github.com/ajitpratap0/GoSQLX/security/advisories/new
about: Report a security issue privately — do NOT use public issues
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: 📖 Documentation improvement
about: Report missing, incorrect, or confusing documentation
title: 'docs: '
labels: documentation
assignees: ''
---

## What documentation needs improvement?

<!-- Which file, section, or topic is affected? Link to the specific page if possible. -->

**File / section**: <!-- e.g. docs/CLI_GUIDE.md — gosqlx analyze section -->

## What is wrong or missing?

<!-- What is currently documented (or not documented) that is incorrect or unclear? -->

## What should it say instead?

<!-- Describe the correct information or the content you'd like to see added. -->

## Why does this matter?

<!-- Who is affected? What mistake would someone make without this documentation? -->

## Would you like to contribute the fix?

- [ ] Yes, I can submit a PR
- [ ] No, I'd like someone else to fix it

---

**GoSQLX version**: <!-- e.g. v1.9.0 or `gosqlx --version` output -->
81 changes: 81 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Automated PR labeling via actions/labeler
# Triggered by .github/workflows/labeler.yml

parser:
- changed-files:
- any-glob-to-any-file:
- 'pkg/sql/parser/**'

tokenizer:
- changed-files:
- any-glob-to-any-file:
- 'pkg/sql/tokenizer/**'

ast:
- changed-files:
- any-glob-to-any-file:
- 'pkg/sql/ast/**'

security:
- changed-files:
- any-glob-to-any-file:
- 'pkg/sql/security/**'
- 'cmd/gosqlx/internal/validate/**'

linter:
- changed-files:
- any-glob-to-any-file:
- 'pkg/linter/**'

lsp:
- changed-files:
- any-glob-to-any-file:
- 'pkg/lsp/**'

cli:
- changed-files:
- any-glob-to-any-file:
- 'cmd/gosqlx/**'

documentation:
- changed-files:
- any-glob-to-any-file:
- 'docs/**'
- '*.md'
- 'llms.txt'

performance:
- changed-files:
- any-glob-to-any-file:
- 'pkg/metrics/**'
- 'performance_baselines.json'
- '**/*_bench_test.go'
- '**/*benchmark*'

dialects:
- changed-files:
- any-glob-to-any-file:
- 'pkg/sql/keywords/**'

ci-cd:
- changed-files:
- any-glob-to-any-file:
- '.github/workflows/**'
- 'Taskfile.yml'
- '.goreleaser.yml'

python:
- changed-files:
- any-glob-to-any-file:
- 'python/**'
- 'pkg/cbinding/**'

wasm:
- changed-files:
- any-glob-to-any-file:
- 'wasm/**'

transform:
- changed-files:
- any-glob-to-any-file:
- 'pkg/transform/**'
20 changes: 20 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Label PRs

on:
pull_request_target:
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: write

jobs:
label:
name: Apply labels
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler.yml
sync-labels: false
48 changes: 48 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Mark stale issues and PRs

on:
schedule:
- cron: '30 1 * * *' # 01:30 UTC daily
workflow_dispatch:

permissions:
issues: write
pull-requests: write

jobs:
stale:
name: Stale
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 60
days-before-close: 14
stale-issue-label: stale
exempt-issue-labels: 'pinned,security,P0,P1,bug,good first issue,help wanted'
exempt-pr-labels: 'pinned,security,P0,P1,do not merge'
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
activity for 60 days. It will be closed in 14 days unless there is new
activity or it is labelled `pinned`, `bug`, or `help wanted`.

If this issue is still relevant, please leave a comment explaining the
current status or add context so a maintainer can re-prioritize it.

Thank you for contributing to GoSQLX!
close-issue-message: >
This issue has been automatically closed due to 14 days of inactivity
after being marked stale. It can be re-opened if it becomes relevant again.
stale-pr-message: >
This pull request has been automatically marked as stale because it has
not had activity for 60 days. It will be closed in 14 days unless there
is new activity.

If you are still working on this PR, please leave a comment or push a
new commit. If you need help getting it over the finish line, mention
@ajitpratap0 and we will assist.
close-pr-message: >
This pull request has been automatically closed due to 14 days of
inactivity after being marked stale. Please reopen it if you want
to continue the work.
3 changes: 3 additions & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# CODEOWNERS uses # for comments, which markdownlint mistakes for H1 headings.
# It is not a Markdown file.
CODEOWNERS
30 changes: 30 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# CODEOWNERS — automatic review requests for PRs
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

# Global default — maintainer reviews everything
* @ajitpratap0

# Core parsing pipeline
/pkg/sql/tokenizer/ @ajitpratap0
/pkg/sql/parser/ @ajitpratap0
/pkg/sql/ast/ @ajitpratap0
/pkg/models/ @ajitpratap0

# Security-sensitive code — extra scrutiny
/pkg/sql/security/ @ajitpratap0
/cmd/gosqlx/internal/validate/ @ajitpratap0

# CLI commands
/cmd/gosqlx/ @ajitpratap0

# Public high-level API (semver-sensitive)
/pkg/gosqlx/ @ajitpratap0

# Release infrastructure
/.github/workflows/release.yml @ajitpratap0
/CHANGELOG.md @ajitpratap0

# Community health files
/CODE_OF_CONDUCT.md @ajitpratap0
/GOVERNANCE.md @ajitpratap0
/CONTRIBUTING.md @ajitpratap0
Loading
Loading