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.
-
Fork the Repository: Click the 'Fork' button on the top-right corner of the repository to create your own copy.
-
Clone the Repository:
git clone https://github.com/tejastn10/halcyon.git cd halcyon
-
Create a New Branch:
git checkout -b feature/your-feature-name
-
Install Dependencies:
go mod tidy
halcyon/
├── cmd/ # CLI commands
│ ├── root.go # Main CLI entry point
├── scripts/ # Scripts
│ ├── install.sh # Install script
│ ├── uninstall.sh # Un-Install script
├── tasks/ # Core logic for file operations
│ ├── traverse.go # Directory traversal logic
├── utils/ # Utility functions
│ ├── utils.go # Reusable helpers
├── go.mod # Go module definition
├── go.sum # Go module checksum
├── main.go # Application entry point
├── README.md # Project documentation
├── LICENSE.md # Project license
-
Implement Your Changes:
- Follow best practices and maintain consistency in the code.
- Ensure your changes do not introduce breaking issues.
-
Run and Test the Application:
go run main.go
- Make sure everything runs as expected.
-
Build the Project:
go build -o halcyon
-
Run the CLI Tool:
./halcyon --dir="/your/directory/path"
-
Commit Your Changes:
git add . git commit -m "feat: Added feature XYZ"
-
Push the Changes:
git push origin feature/your-feature-name
- Navigate to the original repository: Halcyon.
- Click on the 'New Pull Request' button.
- Select your fork and branch and compare it with the
main
branch. - Add a meaningful title and description for your changes.
- Submit the pull request and wait for review.
- Use clear and descriptive commit messages.
- Follow the existing project structure.
- Write clean, readable, and maintainable code.
- Avoid unnecessary changes in unrelated files.
If you have any questions or need clarification, feel free to open an issue or discuss it in the repository's Issues.
Happy coding! 🚀