Skip to content

Commit 04b8ace

Browse files
committed
[add] issue and pull request templates.
1 parent 2ff8f79 commit 04b8ace

6 files changed

Lines changed: 493 additions & 0 deletions

File tree

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
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 maintainers to reproduce and diagnose the issue.
10+
11+
- type: textarea
12+
id: summary
13+
attributes:
14+
label: Summary
15+
description: A concise description of the bug.
16+
placeholder: Describe the incorrect behavior in one or two sentences.
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: expected-behavior
22+
attributes:
23+
label: Expected Behavior
24+
description: Describe what should happen.
25+
placeholder: The expected correct behavior.
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: actual-behavior
31+
attributes:
32+
label: Actual Behavior
33+
description: Describe what currently happens.
34+
placeholder: The observed incorrect behavior.
35+
validations:
36+
required: true
37+
38+
- type: textarea
39+
id: reproduction-steps
40+
attributes:
41+
label: Reproduction Steps
42+
description: Provide minimal steps to reproduce the issue.
43+
placeholder: |
44+
1. Clone repository
45+
2. Run `cargo run --example <name>`
46+
3. Observe error/unexpected behavior
47+
validations:
48+
required: true
49+
50+
- type: textarea
51+
id: code-sample
52+
attributes:
53+
label: Code Sample
54+
description: Include a minimal code snippet that demonstrates the issue.
55+
placeholder: |
56+
```rust
57+
// Minimal reproduction code
58+
fn main() {
59+
// ...
60+
}
61+
```
62+
render: rust
63+
validations:
64+
required: false
65+
66+
- type: textarea
67+
id: environment
68+
attributes:
69+
label: Environment
70+
description: Provide details about the environment.
71+
placeholder: |
72+
- OS: macOS 14.0 / Windows 11 / Ubuntu 24.04
73+
- Rust version: `rustc --version`
74+
- GPU: NVIDIA RTX 4090 / Apple M3 / Intel UHD 770
75+
- Graphics backend: Vulkan / Metal / DX12
76+
- lambda-rs version or commit: `main` / `abc1234`
77+
validations:
78+
required: true
79+
80+
- type: dropdown
81+
id: affected-crates
82+
attributes:
83+
label: Affected Crates
84+
description: Select the crate(s) this bug impacts.
85+
multiple: true
86+
options:
87+
- lambda-rs
88+
- lambda-rs-platform
89+
- lambda-rs-args
90+
- lambda-rs-logging
91+
- Unknown
92+
validations:
93+
required: true
94+
95+
- type: textarea
96+
id: logs-output
97+
attributes:
98+
label: Logs and Output
99+
description: Include relevant error messages, stack traces, or console output.
100+
placeholder: |
101+
```
102+
error[E0XXX]: ...
103+
```
104+
render: shell
105+
validations:
106+
required: false
107+
108+
- type: textarea
109+
id: additional-context
110+
attributes:
111+
label: Additional Context
112+
description: Any other information that may help diagnose the issue.
113+
placeholder: |
114+
- Related issues
115+
- Screenshots or screen recordings (for visual bugs)
116+
- Workarounds discovered
117+
validations:
118+
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: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
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 sufficient detail for maintainers to evaluate scope, feasibility, and alignment with project goals.
10+
11+
- type: textarea
12+
id: overview
13+
attributes:
14+
label: Overview
15+
description: A concise summary of the proposed feature and its purpose.
16+
placeholder: |
17+
Describe the feature in one paragraph. Include the problem it solves and the expected outcome.
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: current-state
23+
attributes:
24+
label: Current State
25+
description: Describe the current behavior or limitation that motivates this request.
26+
placeholder: |
27+
Reference existing code, APIs, or behavior. Include file paths or code snippets where relevant.
28+
Example:
29+
```rust
30+
// crates/lambda-rs/src/example.rs:42-50
31+
// Current implementation does X but lacks Y
32+
```
33+
validations:
34+
required: false
35+
36+
- type: textarea
37+
id: scope
38+
attributes:
39+
label: Scope
40+
description: Define goals and non-goals for this feature.
41+
placeholder: |
42+
**Goals:**
43+
- Goal 1
44+
- Goal 2
45+
46+
**Non-Goals:**
47+
- Item explicitly out of scope
48+
validations:
49+
required: true
50+
51+
- type: textarea
52+
id: proposed-api
53+
attributes:
54+
label: Proposed API
55+
description: Outline the public API surface, types, and usage patterns.
56+
placeholder: |
57+
```rust
58+
pub struct ExampleBuilder {
59+
// fields
60+
}
61+
62+
impl ExampleBuilder {
63+
pub fn new() -> Self;
64+
pub fn with_option(self, value: u32) -> Self;
65+
pub fn build(self) -> Result<Example, ExampleError>;
66+
}
67+
```
68+
69+
**Example Usage:**
70+
```rust
71+
let example = ExampleBuilder::new()
72+
.with_option(42)
73+
.build()?;
74+
```
75+
validations:
76+
required: false
77+
78+
- type: textarea
79+
id: acceptance-criteria
80+
attributes:
81+
label: Acceptance Criteria
82+
description: List concrete, testable criteria for completion.
83+
placeholder: |
84+
- [ ] Criterion 1
85+
- [ ] Criterion 2
86+
- [ ] Documentation updated
87+
- [ ] Example added or updated
88+
validations:
89+
required: true
90+
91+
- type: dropdown
92+
id: affected-crates
93+
attributes:
94+
label: Affected Crates
95+
description: Select the crate(s) this feature impacts.
96+
multiple: true
97+
options:
98+
- lambda-rs
99+
- lambda-rs-platform
100+
- lambda-rs-args
101+
- lambda-rs-logging
102+
- Other/Multiple
103+
validations:
104+
required: true
105+
106+
- type: textarea
107+
id: notes
108+
attributes:
109+
label: Notes
110+
description: Additional context, constraints, or considerations.
111+
placeholder: |
112+
- Related issues or PRs
113+
- Platform-specific considerations
114+
- Future work explicitly deferred
115+
validations:
116+
required: false

0 commit comments

Comments
 (0)