Skip to content

Commit 2e415f6

Browse files
committed
docs: add contributing guidelines to CONTRIBUTING.md
1 parent f20cf51 commit 2e415f6

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed

CONTRIBUTING.md

+117
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Contributing to Halcyon
2+
3+
Thank you for considering contributing to Halcyon! Your contributions help improve the project and make it better for everyone. Follow the guidelines below to contribute effectively.
4+
5+
---
6+
7+
## 📌 Getting Started
8+
9+
1. **Fork the Repository**: Click the 'Fork' button on the top-right corner of the [repository](https://github.com/tejastn10/halcyon) to create your own copy.
10+
2. **Clone the Repository**:
11+
12+
```bash
13+
git clone https://github.com/tejastn10/halcyon.git
14+
cd halcyon
15+
```
16+
17+
3. **Create a New Branch**:
18+
19+
```bash
20+
git checkout -b feature/your-feature-name
21+
```
22+
23+
4. **Install Dependencies**:
24+
25+
```bash
26+
go mod tidy
27+
```
28+
29+
---
30+
31+
### Project Structure 📂
32+
33+
```bash
34+
halcyon/
35+
├── cmd/ # CLI commands
36+
│ ├── root.go # Main CLI entry point
37+
├── scripts/ # Scripts
38+
│ ├── install.sh # Install script
39+
│ ├── uninstall.sh # Un-Install script
40+
├── tasks/ # Core logic for file operations
41+
│ ├── traverse.go # Directory traversal logic
42+
├── utils/ # Utility functions
43+
│ ├── utils.go # Reusable helpers
44+
├── go.mod # Go module definition
45+
├── go.sum # Go module checksum
46+
├── main.go # Application entry point
47+
├── README.md # Project documentation
48+
├── LICENSE.md # Project license
49+
```
50+
51+
---
52+
53+
## 🚀 Making Changes
54+
55+
1. **Implement Your Changes**:
56+
- Follow best practices and maintain consistency in the code.
57+
- Ensure your changes do not introduce breaking issues.
58+
59+
2. **Run and Test the Application**:
60+
61+
```bash
62+
go run main.go
63+
```
64+
65+
- Make sure everything runs as expected.
66+
67+
3. **Build the Project**:
68+
69+
```bash
70+
go build -o halcyon
71+
```
72+
73+
4. **Run the CLI Tool**:
74+
75+
```bash
76+
./halcyon --dir="/your/directory/path"
77+
```
78+
79+
5. **Commit Your Changes**:
80+
81+
```bash
82+
git add .
83+
git commit -m "feat: Added feature XYZ"
84+
```
85+
86+
6. **Push the Changes**:
87+
88+
```bash
89+
git push origin feature/your-feature-name
90+
```
91+
92+
---
93+
94+
## ✅ Submitting a Pull Request
95+
96+
1. Navigate to the original repository: [Halcyon](https://github.com/tejastn10/halcyon).
97+
2. Click on the **'New Pull Request'** button.
98+
3. Select your fork and branch and compare it with the `main` branch.
99+
4. Add a meaningful title and description for your changes.
100+
5. Submit the pull request and wait for review.
101+
102+
---
103+
104+
## 🛠 Code Guidelines
105+
106+
- Use clear and descriptive commit messages.
107+
- Follow the existing project structure.
108+
- Write clean, readable, and maintainable code.
109+
- Avoid unnecessary changes in unrelated files.
110+
111+
---
112+
113+
## 💬 Need Help?
114+
115+
If you have any questions or need clarification, feel free to open an issue or discuss it in the repository's [Issues](https://github.com/tejastn10/halcyon/issues).
116+
117+
Happy coding! 🚀

0 commit comments

Comments
 (0)