Skip to content

Commit 8fe2d8d

Browse files
author
joeldevelops
committed
Add important community documentation
1 parent 7fddb43 commit 8fe2d8d

File tree

7 files changed

+325
-1
lines changed

7 files changed

+325
-1
lines changed

.github/CODE_OF_CONDUCT.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
## Code of Conduct
2+
3+
### Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, gender identity and expression, level of experience,
9+
nationality, personal appearance, race, religion, or sexual identity and
10+
orientation.
11+
12+
### Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
- Using welcoming and inclusive language
18+
- Being respectful of differing viewpoints and experiences
19+
- Gracefully accepting constructive criticism
20+
- Focusing on what is best for the community
21+
- Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
- The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
- Trolling, insulting/derogatory comments, and personal or political attacks
28+
- Public or private harassment
29+
- Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
- Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
- Other conduct which falls outside of [NanoAPI's Open-Source Manifesto](https://github.com/Nano-API/oss-manifesto/blob/main/README.md)
34+
35+
### Our Responsibilities
36+
37+
Project maintainers are responsible for clarifying the standards of acceptable
38+
behavior and are expected to take appropriate and fair corrective action in
39+
response to any instances of unacceptable behavior.
40+
41+
Project maintainers have the right and responsibility to remove, edit, or
42+
reject comments, commits, code, wiki edits, issues, and other contributions
43+
that are not aligned to this Code of Conduct, or to ban temporarily or
44+
permanently any contributor for other behaviors that they deem inappropriate,
45+
threatening, offensive, or harmful.
46+
47+
### Scope
48+
49+
This Code of Conduct applies both within project spaces and in public spaces
50+
when an individual is representing the project or its community. Examples of
51+
representing a project or community include using an official project e-mail
52+
address, posting via an official social media account, or acting as an appointed
53+
representative at an online or offline event. Representation of a project may be
54+
further defined and clarified by project maintainers.
55+
56+
### Enforcement
57+
58+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
59+
reported by contacting the project team at [[email protected]](mailto:[email protected]). All
60+
complaints will be reviewed and investigated and will result in a response that
61+
is deemed necessary and appropriate to the circumstances. The project team is
62+
obligated to maintain confidentiality with regard to the reporter of an incident.
63+
Further details of specific enforcement policies may be posted separately.
64+
65+
Project maintainers who do not follow or enforce the Code of Conduct in good
66+
faith may face temporary or permanent repercussions as determined by other
67+
members of the project's leadership.
68+
69+
### Attribution
70+
71+
This Code of Conduct is adapted from the [ncc CoC](https://github.com/vercel/ncc/blob/main/CODE_OF_CONDUCT.md) which is itself adapted from the [Contributor Covenant][homepage], version 1.4,
72+
available at [http://contributor-covenant.org/version/1/4][version]
73+
74+
[homepage]: http://contributor-covenant.org
75+
[version]: http://contributor-covenant.org/version/1/4/

.github/CONTRIBUTING.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# How to Contribute to NanoAPI
2+
3+
First off, thank you for being here. You dropped this: 👑
4+
5+
Here are some guidelines to help you get started contributing to NanoAPI.
6+
7+
## Housekeeping
8+
9+
1. Follow our [Code of Conduct](/.github/CODE_OF_CONDUCT.md).
10+
2. Check for open issues before creating a new one.
11+
3. We require an open issue for all pull requests.
12+
4. Help others by reviewing their pull requests.
13+
5. All donations we receive go directly back to our contributors. We’re here to support you when you successfully submit a PR to us. Your efforts help the community grow, and we want to give back to those who help make that possible!
14+
15+
## How to File Issues
16+
17+
Make use of the issue templates, and label your issues appropriately. If you’re unsure about which label to use, don’t worry! We will help you choose the right one.
18+
19+
## How to Submit a Pull Request
20+
21+
1. Ensure an issue exists for the changes you want to make.
22+
2. Fork the repository.
23+
3. Create a new branch.
24+
4. Make your changes.
25+
5. Test your changes.
26+
6. Push your changes to your fork.
27+
1. Make sure to rebase before pushing.
28+
7. Submit a pull request.
29+
8. Follow the template and fill in all the sections.
30+
9. Wait for feedback.
31+
10. Make changes if necessary.
32+
11. Celebrate your success after your PR gets merged. The Codex Astartes supports this action.
33+
34+
## Development Environment
35+
36+
You will need the following tools to develop NanoAPI:
37+
38+
- [Node.js](https://nodejs.org/en/) version 18 or higher.
39+
40+
### Environment Set Up
41+
42+
We use the fork-and-pull model for contributions. Here’s how you can set up your development environment:
43+
44+
1. Fork the repository.
45+
2. Clone your fork locally:
46+
47+
```bash
48+
$ git clone https://github.com/<your_username>/napi.git
49+
```
50+
51+
3. Enter the folder:
52+
53+
```bash
54+
$ cd napi
55+
```
56+
57+
4. Add the original repository as a remote:
58+
59+
```bash
60+
$ git remote add upstream https://github.com/nanoapi-io/napi.git
61+
```
62+
63+
5. Install the dependencies:
64+
65+
```bash
66+
$ npm install
67+
```
68+
69+
### Running the Project
70+
71+
When running locally, the UI and CLI must be run separately to avoid having to recreate production builds of the UI on each change.
72+
73+
To run the UI:
74+
75+
```bash
76+
$ npm run dev:app
77+
```
78+
79+
To run the CLI:
80+
81+
```bash
82+
$ npm run dev:cli <command>
83+
```
84+
85+
Running the `ui` command from the CLI will spin up a web server on your localhost. You can access the UI by navigating to `http://localhost:3000`.
86+
87+
> **Note:** In case of port collisions, the UI will automatically switch to the next available port.
88+
89+
90+
### Testing
91+
92+
```bash
93+
$ npm test
94+
```
95+
96+
### Linting
97+
98+
```bash
99+
$ npm run lint
100+
```
101+
102+
### Release Process
103+
104+
We are currently formalizing the release process. For now, the NanoAPI team will handle making regular releases.
105+
106+
### Documentation
107+
108+
We are also building on the documentation process. For now, include any documentation changes in your PRs and we will add them into the main documentation.
109+
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
name: Bug report
3+
about: Create a report for a bug, regression, or unexpected behavior
4+
title: "[BUG] "
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
<!--- Provide a general summary of the issue in the Title above -->
10+
11+
## Description
12+
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
13+
14+
## Expected Behavior
15+
<!--- Tell us what should happen -->
16+
17+
## Actual Behavior
18+
<!--- Tell us what happens instead -->
19+
20+
## Possible Fix
21+
<!--- Not obligatory, but suggest a fix or reason for the bug -->
22+
23+
## Steps to Reproduce
24+
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
25+
<!--- reproduce this bug. Include code to reproduce, if relevant -->
26+
1.
27+
2.
28+
3.
29+
4.
30+
31+
## Context
32+
<!--- How has this bug affected you? What were you trying to accomplish? -->
33+
34+
## Your Environment
35+
<!--- Include as many relevant details about the environment you experienced the bug in -->
36+
* Version used:
37+
* Environment name and version (e.g. Chrome 39, node.js 5.4):
38+
* Operating System and version (desktop or mobile):
39+
* Link to your project:
40+
41+
### Config File
42+
43+
Paste your `.napirc` below
44+
```json
45+
{
46+
"your": "config"
47+
}
48+
```
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: "[FEATURE] "
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
<!--- Provide a general summary of the issue in the Title above -->
10+
11+
## Detailed Description
12+
<!--- Provide a detailed description of the change or addition you are proposing -->
13+
14+
## Context
15+
<!--- Why is this change important to you? How would you use it? -->
16+
<!--- How can it benefit other users? -->
17+
18+
## Possible Implementation
19+
<!--- Not obligatory, but suggest an idea for implementing addition or change -->
20+
21+
## Your Environment
22+
<!--- Include as many relevant details about the environment you experienced the bug in -->
23+
* Version used:
24+
* Environment name and version (e.g. Chrome 39, node.js 5.4):
25+
* Operating System and version (desktop or mobile):
26+
* Link to your project:
27+
28+
### Config File
29+
30+
Paste your `.napirc` below
31+
```json
32+
{
33+
"your": "config"
34+
}
35+
```

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
## Type of change
2+
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
3+
- [ ] Bug fix (non-breaking change that fixes an issue)
4+
- [ ] New feature (non-breaking change that adds functionality)
5+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
6+
- [ ] Documentation update
7+
8+
## Description
9+
10+
Please include a summary of the changes and the related issue. Explain the motivation behind this change.
11+
12+
## Related Issue
13+
<!--- This project only accepts pull requests related to open issues -->
14+
<!--- If suggesting a new feature or change, please discuss it in an issue first -->
15+
<!--- If fixing a bug, there should be an issue describing it with steps to reproduce -->
16+
<!--- Please link to the issue here: -->
17+
18+
Issue Number: #<issue_number>
19+
20+
## Motivation and Context
21+
<!--- Why is this change required? What problem does it solve? -->
22+
23+
## How Has This Been Tested?
24+
<!--- Please describe in detail how you tested your changes. -->
25+
<!--- Include details of your testing environment, and the tests you ran to -->
26+
<!--- see how your change affects other areas of the code, etc. -->
27+
28+
## Screenshots (if appropriate):
29+
30+
## Checklist
31+
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
32+
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
33+
- [ ] I have read the [contributing guidelines](CONTRIBUTING.md)
34+
- [ ] My code follows the code style of this project.
35+
- [ ] I have added tests that prove my fix is effective or that my feature works
36+
- [ ] I have performed a self-review of my own code
37+
- [ ] I have commented my code, particularly in hard-to-understand areas
38+
- [ ] I have made corresponding changes to the documentation
39+
- [ ] My changes generate no new warnings
40+
- [ ] Any dependent changes have been merged and published

.github/SECURITY.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Security Policy
2+
3+
If you discover a security issue in this project, or have any concerns, please report them to [[email protected]](mailto:[email protected]). All security vulnerabilities will be promptly addressed within 72 hours.

README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ app.listen(port, () => {
134134
});
135135
```
136136

137+
## Contributing and Development
138+
139+
We welcome contributions from the community. Please read our [contributing guide](/.github/CONTRIBUTING.md) for more information.
140+
137141
## Status
138142

139143
This project is in the early stages of development. We are actively working on the project and will be releasing new features and improvements regularly, which may include a rewrite into a more efficient and generic language like Rust or Go. Please check our issues and project board for more information.
@@ -146,4 +150,14 @@ This project is in the early stages of development. We are actively working on t
146150
- [ ] Full python support
147151
- [ ] PHP support
148152
- [ ] Java support
149-
- [ ] C# support
153+
- [ ] C# support
154+
155+
#### On Donating
156+
157+
NanoAPI is a fair-source project. Because of this, we feel it would be unethical to keep any donations to ourselves. Instead, here is how we will handle donations:
158+
159+
- Donations go into a pool
160+
- Money from the pool will be distributed to contributors
161+
- At the end of the year, any remaining money will be donated to a charity of the community's choice
162+
163+
We will post regular updates on how much money is in the pool and how it is being distributed.

0 commit comments

Comments
 (0)