Skip to content

Commit 4b6295a

Browse files
authored
Merge pull request #2 from CHINMAYVIVEK/dev
chore: add initial project documentation and contribution guidelines
2 parents 11c3681 + 333812d commit 4b6295a

File tree

17 files changed

+908
-375
lines changed

17 files changed

+908
-375
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @CHINMAYVIVEK
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
name: 💡 Ideas
2+
description: Brainstorm new ideas or directions
3+
body:
4+
- type: textarea
5+
attributes:
6+
label: Idea Description
7+
validations:
8+
required: true
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
name: ❓ Q&A
2+
description: Ask general questions
3+
body:
4+
- type: textarea
5+
attributes:
6+
label: Question
7+
validations:
8+
required: true
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: 🐛 Bug Report
2+
description: Report incorrect behavior or failed JPL integration
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for reporting an issue! Since rust-jpl integrates with NASA JPL systems,
11+
detailed reports help ensure correctness and safety.
12+
13+
- type: input
14+
id: crate_version
15+
attributes:
16+
label: rust-jpl Version
17+
placeholder: "e.g. 0.1.0"
18+
validations:
19+
required: true
20+
21+
- type: input
22+
id: rust_version
23+
attributes:
24+
label: Rust Version
25+
placeholder: "rustc 1.xx.x"
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: jpl_context
31+
attributes:
32+
label: JPL Context
33+
description: Which NASA JPL API, dataset, or service are you integrating?
34+
validations:
35+
required: true
36+
37+
- type: textarea
38+
id: description
39+
attributes:
40+
label: Bug Description
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: reproduction
46+
attributes:
47+
label: Steps to Reproduce
48+
placeholder: |
49+
1.
50+
2.
51+
3.
52+
validations:
53+
required: true
54+
55+
- type: textarea
56+
id: expected
57+
attributes:
58+
label: Expected Behavior
59+
validations:
60+
required: true
61+
62+
- type: textarea
63+
id: logs
64+
attributes:
65+
label: Logs / Errors
66+
render: shell
67+
68+
- type: textarea
69+
id: minimal
70+
attributes:
71+
label: Minimal Example
72+
description: Minimal Rust example demonstrating the issue.

.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: Security Issue
4+
url: SECURITY.md
5+
about: Please report security vulnerabilities privately.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: ✨ Feature Request
2+
description: Suggest new JPL integration or API enhancement
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
rust-jpl prioritizes correctness, stability, and clear APIs.
11+
Please explain the motivation carefully.
12+
13+
- type: textarea
14+
id: use_case
15+
attributes:
16+
label: Use Case
17+
description: What problem does this feature solve?
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: jpl_scope
23+
attributes:
24+
label: JPL Scope
25+
description: Which JPL service, data source, or protocol is involved?
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: api_design
31+
attributes:
32+
label: Proposed API Design
33+
description: Function signatures, modules, or traits (if applicable)
34+
35+
- type: dropdown
36+
id: breaking
37+
attributes:
38+
label: Is this a breaking change?
39+
options:
40+
- "No"
41+
- "Yes"
42+
43+
- type: textarea
44+
id: alternatives
45+
attributes:
46+
label: Alternatives Considered
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: 🛰️ Integration Help
2+
description: Help integrating rust-jpl into a Rust project
3+
title: "[Integration]: "
4+
labels: ["question"]
5+
6+
body:
7+
- type: textarea
8+
id: goal
9+
attributes:
10+
label: Integration Goal
11+
description: What are you trying to achieve?
12+
validations:
13+
required: true
14+
15+
- type: textarea
16+
id: environment
17+
attributes:
18+
label: Environment
19+
description: Target platform, OS, runtime constraints
20+
21+
- type: textarea
22+
id: code
23+
attributes:
24+
label: Code Snippet
25+
render: rust
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: ❓ Question
2+
description: Ask a usage or design question
3+
title: "[Question]: "
4+
labels: ["question"]
5+
6+
body:
7+
- type: textarea
8+
id: question
9+
attributes:
10+
label: Your Question
11+
validations:
12+
required: true
13+
14+
- type: textarea
15+
id: context
16+
attributes:
17+
label: Context
18+
description: Code snippets, use cases, or references

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
## Summary
2+
3+
What does this PR change?
4+
5+
## Motivation
6+
7+
Why is this change needed? Link issues if applicable.
8+
9+
## JPL Context
10+
11+
Which NASA JPL service, protocol, or dataset does this affect?
12+
13+
## Type of Change
14+
15+
- [ ] Bug fix
16+
- [ ] New feature
17+
- [ ] Breaking change
18+
- [ ] Performance improvement
19+
- [ ] Refactor
20+
- [ ] Documentation
21+
22+
## Implementation Notes
23+
24+
Key decisions, trade-offs, or limitations.
25+
26+
## Testing
27+
28+
- [ ] Unit tests
29+
- [ ] Integration tests
30+
- [ ] Manual testing
31+
32+
Describe how this was tested.
33+
34+
## API Impact
35+
36+
- [ ] No public API changes
37+
- [ ] Additive API changes
38+
- [ ] Breaking API changes
39+
40+
## Checklist
41+
42+
- [ ] `cargo fmt`
43+
- [ ] `cargo clippy`
44+
- [ ] `cargo test`
45+
- [ ] Public APIs documented
46+
- [ ] Unsafe code justified or avoided

CODE_OF_CONDUCT.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, caste, color, religion, or sexual
10+
identity and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
- Focusing on what is best not just for us as individuals, but for the overall
26+
community
27+
28+
Examples of unacceptable behavior include:
29+
30+
- The use of sexualized language or imagery, and sexual attention or advances of
31+
any kind
32+
- Trolling, insulting or derogatory comments, and personal or political attacks
33+
- Public or private harassment
34+
- Publishing others' private information, such as a physical or email address,
35+
without their explicit permission
36+
- Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official email address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
[iam@chinmayvivek.com](mailto:iam@chinmayvivek.com).
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
## Enforcement Guidelines
70+
71+
Community leaders will follow these Community Impact Guidelines in determining
72+
the consequences for any action they deem in violation of this Code of Conduct:
73+
74+
### 1. Correction
75+
76+
**Community Impact**: Use of inappropriate language or other behavior deemed
77+
unprofessional or unwelcome in the community.
78+
79+
**Consequence**: A private, written warning from community leaders, providing
80+
clarity around the nature of the violation and an explanation of why the
81+
behavior was inappropriate. A public apology may be requested.
82+
83+
### 2. Warning
84+
85+
**Community Impact**: A violation through a single incident or series of
86+
actions.
87+
88+
**Consequence**: A warning with consequences for continued behavior. No
89+
interaction with the people involved, including unsolicited interaction with
90+
those enforcing the Code of Conduct, for a specified period of time. This
91+
includes avoiding interactions in community spaces as well as external channels
92+
like social media. Violating these terms may lead to a temporary or permanent
93+
ban.
94+
95+
### 3. Temporary Ban
96+
97+
**Community Impact**: A serious violation of community standards, including
98+
sustained inappropriate behavior.
99+
100+
**Consequence**: A temporary ban from any sort of interaction or public
101+
communication with the community for a specified period of time. No public or
102+
private interaction with the people involved, including unsolicited interaction
103+
with those enforcing the Code of Conduct, is allowed during this period.
104+
Violating these terms may lead to a permanent ban.
105+
106+
### 4. Permanent Ban
107+
108+
**Community Impact**: Demonstrating a pattern of violation of community
109+
standards, including sustained inappropriate behavior, harassment of an
110+
individual, or aggression toward or disparagement of classes of individuals.
111+
112+
**Consequence**: A permanent ban from any sort of public interaction within the
113+
community.
114+
115+
## Attribution
116+
117+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).

0 commit comments

Comments
 (0)