Skip to content

Commit 0d03723

Browse files
docs: add CONTRIBUTING.md
Add comprehensive contribution guidelines including: - Code of Conduct - Bug reporting and feature request workflows - Development environment setup instructions - Style g
1 parent f787f8c commit 0d03723

1 file changed

Lines changed: 105 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Contributing to lv
2+
3+
First off, thanks for taking the time to contribute!
4+
5+
The following is a set of guidelines for contributing to `lv`, which is hosted on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
6+
7+
## Table of Contents
8+
9+
- [Code of Conduct](#code-of-conduct)
10+
- [I Have a Question](#i-have-a-question)
11+
- [I Want To Contribute](#i-want-to-contribute)
12+
- [Reporting Bugs](#reporting-bugs)
13+
- [Suggesting Enhancements](#suggesting-enhancements)
14+
- [Your First Code Contribution](#your-first-code-contribution)
15+
- [Pull Requests](#pull-requests)
16+
- [Styleguides](#styleguides)
17+
- [Git Commit Messages](#git-commit-messages)
18+
19+
## Code of Conduct
20+
21+
This project and everyone participating in it is governed by a Code of Conduct. By participating, you are expected to uphold this code.
22+
23+
## I Have a Question
24+
25+
If you have questions, please search the existing [Issues](https://github.com/rajeshkannanramakrishnan/lv/issues) to see if someone else has asked the same thing. If you don't find an answer, feel free to open a new issue.
26+
27+
## I Want To Contribute
28+
29+
### Reporting Bugs
30+
31+
This section guides you through submitting a bug report for `lv`. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
32+
33+
- **Use a clear and descriptive title** for the issue to identify the problem.
34+
- **Describe the exact steps to reproduce the problem** in as many details as possible.
35+
- **Provide specific examples to demonstrate the steps**. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples.
36+
- **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
37+
- **Explain which behavior you expected to see instead and why.**
38+
- **Include screenshots and animated GIFs** which show you following the reproduction steps.
39+
40+
### Suggesting Enhancements
41+
42+
This section guides you through submitting an enhancement suggestion for `lv`, including completely new features and minor improvements to existing functionality.
43+
44+
- **Use a clear and descriptive title** for the issue to identify the suggestion.
45+
- **Provide a step-by-step description of the suggested enhancement** in as many details as possible.
46+
- **Explain why this enhancement would be useful** to most `lv` users.
47+
48+
### Your First Code Contribution
49+
50+
Unsure where to begin contributing to `lv`? You can look through these generic `help wanted` and `good first issue` labels:
51+
52+
- [Good first issue](https://github.com/rajeshkannanramakrishnan/lv/labels/good%20first%20issue) - these should only require a few lines of code, and a test or two.
53+
- [Help wanted](https://github.com/rajeshkannanramakrishnan/lv/labels/help%20wanted) - issues which should be a bit more involved than `good first issue`.
54+
55+
### Pull Requests
56+
57+
The process described here has several goals:
58+
59+
- Maintain `lv`'s quality
60+
- Fix problems that are important to users
61+
- Engage the community in working toward the best possible `lv`
62+
- Enable a sustainable system for `lv`'s maintainers to review contributions
63+
64+
Please follow these steps to have your contribution considered by the maintainers:
65+
66+
1. Follow all instructions in [the template](.github/PULL_REQUEST_TEMPLATE.md) (if available).
67+
2. Follow the [styleguides](#styleguides)
68+
3. After you submit your pull request, verify that all status checks are passing <details><summary>What if the status checks are failing?</summary>If a status check is failing, and you believe that the failure is unrelated to your change, please leave a comment on the pull request explaining why you believe the failure is unrelated. A maintainer will re-run the status check for you. If we conclude that the failure was a false positive, then we will open an issue to track that problem with our status check suite.</details>
69+
70+
## Styleguides
71+
72+
### Git Commit Messages
73+
74+
- Use the present tense ("Add feature" not "Added feature")
75+
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
76+
- Limit the first line to 72 characters or less
77+
- Reference issues and pull requests liberally after the first line
78+
79+
## Development Setup
80+
81+
To set up your development environment:
82+
83+
1. **Prerequisites**: Ensure you have Go installed (version 1.20+ recommended).
84+
2. **Clone the repository**:
85+
```bash
86+
git clone https://github.com/rajeshkannanramakrishnan/lv.git
87+
cd lv
88+
```
89+
3. **Build**:
90+
```bash
91+
go build -o lv main.go
92+
```
93+
4. **Run Tests**:
94+
```bash
95+
go test ./...
96+
```
97+
98+
## Dependencies
99+
100+
`lv` uses the following key libraries:
101+
- [Bubbletea](https://github.com/charmbracelet/bubbletea) for the TUI framework.
102+
- [Lipgloss](https://github.com/charmbracelet/lipgloss) for styling.
103+
- [Cobra](https://github.com/spf13/cobra) for CLI commands.
104+
105+
Happy coding!

0 commit comments

Comments
 (0)