Skip to content

Commit 8f2bdb0

Browse files
authored
chore(repo): Add templates for issues, pull requests, and contributing.
2 parents 2ff8f79 + 1ec2d33 commit 8f2bdb0

File tree

6 files changed

+487
-0
lines changed

6 files changed

+487
-0
lines changed

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
name: Bug Report
2+
description: Report incorrect behavior or a defect in lambda-rs.
3+
title: "[Bug] "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Use this template to report bugs. Provide sufficient detail for
10+
maintainers to reproduce and diagnose the issue.
11+
12+
- type: textarea
13+
id: summary
14+
attributes:
15+
label: Summary
16+
description: A concise description of the bug.
17+
placeholder: Describe the incorrect behavior in one or two sentences.
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: expected-behavior
23+
attributes:
24+
label: Expected Behavior
25+
description: Describe what should happen.
26+
placeholder: The expected correct behavior.
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: actual-behavior
32+
attributes:
33+
label: Actual Behavior
34+
description: Describe what currently happens.
35+
placeholder: The observed incorrect behavior.
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: reproduction-steps
41+
attributes:
42+
label: Reproduction Steps
43+
description: Provide minimal steps to reproduce the issue.
44+
placeholder: |
45+
1. Clone repository
46+
2. Run `cargo run --example <name>`
47+
3. Observe error/unexpected behavior
48+
validations:
49+
required: true
50+
51+
- type: textarea
52+
id: code-sample
53+
attributes:
54+
label: Code Sample
55+
description: Include a minimal code snippet that demonstrates the issue.
56+
placeholder: |
57+
```rust
58+
// Minimal reproduction code
59+
fn main() {
60+
// ...
61+
}
62+
```
63+
render: rust
64+
validations:
65+
required: false
66+
67+
- type: textarea
68+
id: environment
69+
attributes:
70+
label: Environment
71+
description: Provide details about the environment.
72+
placeholder: |
73+
- OS: macOS 14.0 / Windows 11 / Ubuntu 24.04
74+
- Rust version: `rustc --version`
75+
- GPU: NVIDIA RTX 4090 / Apple M3 / Intel UHD 770
76+
- Graphics backend: Vulkan / Metal / DX12
77+
- lambda-rs version or commit: `main` / `abc1234`
78+
validations:
79+
required: true
80+
81+
- type: dropdown
82+
id: affected-crates
83+
attributes:
84+
label: Affected Crates
85+
description: Select the crate(s) this bug impacts.
86+
multiple: true
87+
options:
88+
- lambda-rs
89+
- lambda-rs-platform
90+
- lambda-rs-args
91+
- lambda-rs-logging
92+
- Unknown
93+
validations:
94+
required: true
95+
96+
- type: textarea
97+
id: logs-output
98+
attributes:
99+
label: Logs and Output
100+
description: Include relevant error messages, stack traces, or console output.
101+
placeholder: |
102+
```
103+
error[E0XXX]: ...
104+
```
105+
render: shell
106+
validations:
107+
required: false
108+
109+
- type: textarea
110+
id: additional-context
111+
attributes:
112+
label: Additional Context
113+
description: Any other information that may help diagnose the issue.
114+
placeholder: |
115+
- Related issues
116+
- Screenshots or screen recordings (for visual bugs)
117+
- Workarounds discovered
118+
validations:
119+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Discussions
4+
url: https://github.com/lambda-sh/lambda/discussions
5+
about: Use discussions for general questions, ideas, or community support.
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Documentation
2+
description: Report missing, incorrect, or unclear documentation.
3+
title: "[Docs] "
4+
labels: ["documentation"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Use this template to report documentation issues or request improvements.
10+
11+
- type: textarea
12+
id: summary
13+
attributes:
14+
label: Summary
15+
description: Describe the documentation issue or improvement.
16+
placeholder: A concise description of what is missing, incorrect, or unclear.
17+
validations:
18+
required: true
19+
20+
- type: dropdown
21+
id: documentation-type
22+
attributes:
23+
label: Documentation Type
24+
description: Select the type of documentation affected.
25+
options:
26+
- API documentation (rustdoc)
27+
- Specification (docs/specs/)
28+
- Tutorial (docs/tutorials/)
29+
- Guide (docs/)
30+
- README
31+
- Code comments
32+
- Other
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: location
38+
attributes:
39+
label: Location
40+
description: Identify the file path or URL of the affected documentation.
41+
placeholder: |
42+
- File: `docs/tutorials/uniform-buffers.md`
43+
- Module: `lambda_rs::render`
44+
- URL: https://docs.rs/lambda-rs/...
45+
validations:
46+
required: false
47+
48+
- type: textarea
49+
id: current-content
50+
attributes:
51+
label: Current Content
52+
description: Quote or describe the current documentation (if applicable).
53+
placeholder: |
54+
The current documentation states:
55+
> "..."
56+
validations:
57+
required: false
58+
59+
- type: textarea
60+
id: proposed-change
61+
attributes:
62+
label: Proposed Change
63+
description: Describe the improvement or correction.
64+
placeholder: |
65+
The documentation should:
66+
- Clarify X
67+
- Add example for Y
68+
- Correct statement about Z
69+
validations:
70+
required: true
71+
72+
- type: textarea
73+
id: additional-context
74+
attributes:
75+
label: Additional Context
76+
description: Any other relevant information.
77+
placeholder: |
78+
- Related code changes
79+
- User confusion observed
80+
validations:
81+
required: false

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
name: Feature Request
2+
description: Propose a new feature or enhancement for lambda-rs.
3+
title: "[Feature] "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Use this template to propose new functionality or enhancements. Provide
10+
sufficient detail for maintainers to evaluate scope, feasibility, and
11+
alignment with project goals.
12+
13+
- type: textarea
14+
id: overview
15+
attributes:
16+
label: Overview
17+
description: A concise summary of the proposed feature and its purpose.
18+
placeholder: |
19+
Describe the feature in one paragraph. Include the problem it solves and
20+
the expected outcome.
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: current-state
26+
attributes:
27+
label: Current State
28+
description: Describe the current behavior or limitation that motivates this request.
29+
placeholder: |
30+
Reference existing code, APIs, or behavior. Include file paths or code snippets where relevant.
31+
Example:
32+
```rust
33+
// crates/lambda-rs/src/example.rs:42-50
34+
// Current implementation does X but lacks Y
35+
```
36+
validations:
37+
required: false
38+
39+
- type: textarea
40+
id: scope
41+
attributes:
42+
label: Scope
43+
description: Define goals and non-goals for this feature.
44+
placeholder: |
45+
**Goals:**
46+
- Goal 1
47+
- Goal 2
48+
49+
**Non-Goals:**
50+
- Item explicitly out of scope
51+
validations:
52+
required: true
53+
54+
- type: textarea
55+
id: proposed-api
56+
attributes:
57+
label: Proposed API
58+
description: Outline the public API surface, types, and usage patterns.
59+
placeholder: |
60+
```rust
61+
pub struct ExampleBuilder {
62+
// fields
63+
}
64+
65+
impl ExampleBuilder {
66+
pub fn new() -> Self;
67+
pub fn with_option(self, value: u32) -> Self;
68+
pub fn build(self) -> Result<Example, ExampleError>;
69+
}
70+
```
71+
72+
**Example Usage:**
73+
```rust
74+
let example = ExampleBuilder::new()
75+
.with_option(42)
76+
.build()?;
77+
```
78+
validations:
79+
required: false
80+
81+
- type: textarea
82+
id: acceptance-criteria
83+
attributes:
84+
label: Acceptance Criteria
85+
description: List concrete, testable criteria for completion.
86+
placeholder: |
87+
- [ ] Criterion 1
88+
- [ ] Criterion 2
89+
- [ ] Documentation updated
90+
- [ ] Example added or updated
91+
validations:
92+
required: true
93+
94+
- type: dropdown
95+
id: affected-crates
96+
attributes:
97+
label: Affected Crates
98+
description: Select the crate(s) this feature impacts.
99+
multiple: true
100+
options:
101+
- lambda-rs
102+
- lambda-rs-platform
103+
- lambda-rs-args
104+
- lambda-rs-logging
105+
- Other/Multiple
106+
validations:
107+
required: true
108+
109+
- type: textarea
110+
id: notes
111+
attributes:
112+
label: Notes
113+
description: Additional context, constraints, or considerations.
114+
placeholder: |
115+
- Related issues or PRs
116+
- Platform-specific considerations
117+
- Future work explicitly deferred
118+
validations:
119+
required: false

0 commit comments

Comments
 (0)