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
7 changes: 7 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.git
bin
coverage
cov
**/node_modules
**/*.log
**/testdata
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# CI helper scripts run on Ubuntu runners — keep LF regardless of checkout OS.
*.sh text eol=lf
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: [qumo-dev]
111 changes: 111 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: "Bug Report"
description: "Report unexpected behavior or issues"
title: "[BUG] "
labels: ["type:bug", "status:triage"]
assignees: []

body:
- type: markdown
attributes:
value: |
Thank you for reporting this bug! Please provide detailed information.

- type: textarea
id: description
attributes:
label: "Bug Description"
description: "Describe what happened"
placeholder: |
Example) Calling `client.Subscribe()` causes a panic
validations:
required: true

- type: textarea
id: steps
attributes:
label: "Steps to Reproduce"
description: "Steps to reproduce the bug"
placeholder: |
1. ...
2. ...
3. ...
validations:
required: true

- type: textarea
id: expected
attributes:
label: "Expected Behavior"
description: "What should happen"
placeholder: "Example) Successfully connect and receive data"
validations:
required: true

- type: textarea
id: actual
attributes:
label: "Actual Behavior"
description: "What actually happened"
placeholder: "Example) panic: nil pointer dereference"
validations:
required: true

- type: textarea
id: logs
attributes:
label: "Logs"
description: "Error logs or stack traces"
render: text
validations:
required: false

- type: input
id: os
attributes:
label: "Operating System"
placeholder: "Example) Windows 11, macOS 14, Linux (Ubuntu 22.04)"
validations:
required: true

- type: input
id: go_version
attributes:
label: "Go Version"
placeholder: "Example) go version go1.21.0"
validations:
required: true

- type: input
id: project_version
attributes:
label: "Project Version"
placeholder: "Example) commit hash, tag, or branch"
validations:
required: true

- type: textarea
id: code_sample
attributes:
label: "Minimal Reproduction Code"
description: "Minimal code that reproduces the bug"
render: go
placeholder: |
```go
func ExampleBug() {
// Minimal code that reproduces the bug
}
```
validations:
required: false

- type: checkboxes
id: checklist
attributes:
label: "Checklist"
options:
- label: "I searched for existing issues"
required: true
- label: "I can reproduce on the main branch"
required: true
- label: "I have included relevant logs"
required: false
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
contact_links:
- name: "💬 Questions"
url: https://github.com/qumo-dev/qumo-lb/discussions
about: "Use Discussions for implementation and usage questions"

- name: "📚 Documentation"
url: https://qumo-dev.github.io/qumo-lb/
about: "Project documentation"

- name: "🔐 Security Report"
url: https://github.com/qumo-dev/qumo-lb/security/advisories
about: "Report security vulnerabilities directly"

- name: "🤝 Contributing"
url: https://github.com/qumo-dev/qumo-lb/blob/main/CONTRIBUTING.md
about: "Please read our contributing guidelines"
60 changes: 60 additions & 0 deletions .github/ISSUE_TEMPLATE/crash.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Crash
about: Using tsgo or the language server caused a panic
title: ""
labels: [Crash]
assignees: []

body:
- type: textarea
id: stack-trace
attributes:
label: Stack trace
description: Please paste the full stack trace here.
placeholder: |
[paste stack trace here]
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to reproduce
description: Describe the steps to reproduce the crash.
placeholder: |
1. Step one
2. Step two
3. Step three
validations:
required: true

- type: input
id: version
attributes:
label: Version
description: What version of tsgo or the language server are you using?
placeholder: e.g., v1.0.0

- type: textarea
id: environment
attributes:
label: Environment
description: Describe your environment (OS, architecture, runtime version, etc.)
placeholder: |
- OS: Windows 11
- Architecture: x64
- Runtime: Node.js v18.0.0
- Other relevant details

- type: textarea
id: logs
attributes:
label: Logs
description: If applicable, provide any relevant logs or error messages.
placeholder: |
[paste logs here]

- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context about the problem here, such as what you were trying to do when the crash occurred.
82 changes: 82 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: "Feature Request"
description: "Propose a new feature or improvement"
title: "[FEATURE] "
labels: ["type:feature", "status:triage"]
assignees: []

body:
- type: markdown
attributes:
value: |
Thank you for contributing! Please provide the following information.

- type: textarea
id: overview
attributes:
label: "Overview"
description: "Briefly describe the purpose of this feature."
placeholder: |
Example: A short summary of what this feature is intended to accomplish.
validations:
required: true

- type: textarea
id: motivation_benefits
attributes:
label: "Motivation & Benefits"
description: "Why is this feature needed, and what advantages does it bring?"
placeholder: |
Example: Explain the problem this feature solves, and what benefits it provides to users or developers.
validations:
required: true

- type: textarea
id: use_case
attributes:
label: "Use Case"
description: "Describe how this feature would be used."
placeholder: |
Example: Provide a typical scenario where this feature would be applied.
validations:
required: true

- type: textarea
id: proposed_solution
attributes:
label: "Proposed Solution (include Next Steps)"
description: "Provide a high-level idea of how this could be implemented, including suggested next steps."
placeholder: |
Example: Describe the approach for implementing this feature, along with any suggested next steps for discussion or prototyping.
validations:
required: false

- type: textarea
id: alternatives
attributes:
label: "Alternatives Considered"
description: "Any other approaches you considered"
placeholder: |
Example: List any alternative solutions or approaches that were considered.
validations:
required: false

- type: input
id: related_issues
attributes:
label: "Related issues"
description: "Please provide the issue number or URL of related issues (optional). Example: #123, https://github.com/owner/repo/issues/123"
placeholder: "#123, https://github.com/owner/repo/issues/123"
validations:
required: false

- type: checkboxes
id: checklist
attributes:
label: "Checklist"
options:
- label: "I have searched existing issues"
required: true
- label: "I have read relevant documentation"
required: false
- label: "I can contribute to this feature"
required: false
86 changes: 86 additions & 0 deletions .github/ISSUE_TEMPLATE/spec_discussion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: "Specification & Protocol Discussion"
description: "Discuss protocol specifications and design"
title: "[SPEC] "
labels: ["type:discussion", "status:triage", "area:protocol"]
assignees: []

body:
- type: markdown
attributes:
value: |
Welcome to protocol and specification discussions.

- type: textarea
id: topic
attributes:
label: "Discussion Topic"
description: "What specification topic do you want to discuss?"
placeholder: |
Example) About sequence number handling in SUBSCRIBE frames
validations:
required: true

- type: textarea
id: current_behavior
attributes:
label: "Current Spec/Implementation"
description: "Describe the current specification or implementation"
placeholder: |
Example) RFC sections or current code implementation
validations:
required: true

- type: textarea
id: question_proposal
attributes:
label: "Question/Proposal"
description: "Your question or improvement proposal"
placeholder: |
Example) Is this approach feasible while maintaining compatibility?
validations:
required: true

- type: textarea
id: references
attributes:
label: "References"
description: "Links to RFCs, docs, or other specs"
placeholder: |
- [RFC 9000](https://datatracker.ietf.org/doc/html/rfc9000)
- [MoQ Draft](https://datatracker.ietf.org/doc/html/draft-ietf-moq-transport)
validations:
required: false

- type: textarea
id: implications
attributes:
label: "Implementation Implications"
description: "How this affects implementation or compatibility"
placeholder: |
- Compatibility impact
- Performance implications
- Impact on other components
validations:
required: false

- type: checkboxes
id: tags
attributes:
label: "Related Areas"
options:
- label: "Frame Design"
- label: "Error Handling"
- label: "Flow Control"
- label: "Connection Management"
- label: "Security"
- label: "Interoperability"

- type: checkboxes
id: checklist
attributes:
label: "Checklist"
options:
- label: "I have read relevant specs"
required: true
- label: "I checked existing discussions"
required: false
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "gomod" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
Loading
Loading