Contributing to Dev Cockpit 🙌 
You are awesome!
Thank you for looking into contributing to Dev Cockpit! Your contributions are essential for making this project better. Whether you're fixing a bug, creating a new feature, or improving documentation, we appreciate your effort.
How to Contribute 
Reporting Bugs 🐛 
If you find a bug, please create an issue in our GitHub repository.
Make sure to include:
- A clear title describing the bug
 - Steps to reproduce the issue
 - Expected vs. actual behavior
 - macOS version and chip type (M1/M2/M3)
 - Any relevant error messages or logs (check 
~/.devcockpit/debug.log) 
Requesting Features 💡 
Have an idea for a new feature? Create a feature request with:
- A clear description of the feature
 - Why it's needed or how it improves Dev Cockpit
 - Which module it would belong to (Dashboard, Cleanup, Packages, etc.)
 - Any additional context or mockups if available
 
Improving Documentation 📚 
INFO
Who in the world doesn't want good documentation!? If you find typos, missing information, or want to expand a section, feel free to submit a pull request.
Documentation lives in two places:
- Main README: 
/README.md - Documentation site: 
/docs/* 
Code Contributions 💻 
Follow these steps to contribute code:
- Fork the repository to your GitHub account or clone it directly:
 
git clone https://github.com/caioricciuti/dev-cockpit.git
cd dev-cockpit/app- Create a new branch for your contribution:
 
git checkout -b feature/my-new-feature- Make your changes and test them:
 
make build
./build/devcockpit  # Test your changes- Commit your changes with a descriptive message:
 
git commit -m "Add new feature: [description]"- Push to your fork and open a Pull Request:
 
git push origin feature/my-new-feature- Open a pull request from your fork's branch to 
mainon the Dev Cockpit repository. 
Development Setup 
Prerequisites 
- macOS 11.0+ running on Apple Silicon (M1/M2/M3)
 - Go 1.21 or newer (
brew install go) - Xcode Command Line Tools (
xcode-select --install) 
Setting Up the Environment 
- Clone the repository:
 
git clone https://github.com/caioricciuti/dev-cockpit.git
cd dev-cockpit/app- Install Go dependencies:
 
make deps- Build and run:
 
make build
./build/devcockpitFor development with automatic reload, use:
make runProject Structure 
dev-cockpit/
├── app/                      # Go application
│   ├── cmd/devcockpit/      # Main entry point
│   ├── internal/            # Internal packages
│   │   ├── app/            # Main app logic
│   │   ├── config/         # Configuration
│   │   ├── modules/        # Feature modules
│   │   └── sudo/           # Sudo helper
│   ├── Makefile            # Build automation
│   └── go.mod              # Go dependencies
├── docs/                    # Documentation website
└── README.md               # Main documentationCode Style Guidelines 
To maintain consistency across the codebase:
- Follow standard Go conventions (
gofmt,golint) - Ensure your code is well-documented with comments where necessary
 - Run the formatter before committing:
 
make fmt- Run the linter:
 
make lintTesting Requirements 
Before submitting a pull request:
- Run all tests to ensure no existing functionality is broken:
 
make test- Test the binary manually:
 
make build
./build/devcockpit- Test on a clean macOS installation if possible
 
Adding a New Module 
To add a new module to Dev Cockpit:
- Create a new directory in 
internal/modules/yourmodule/ - Implement the Module interface:go
type Module interface { Init() tea.Cmd Update(msg tea.Msg) (interface{}, tea.Cmd) View() string Title() string HasOpenModal() bool } - Register it in 
internal/app/app.go - Add documentation to 
/docs/features.md 
Community and Support 👥 
- Use GitHub Issues for bug reports and feature requests
 - Star the repository to show your support
 - Share Dev Cockpit with other Apple Silicon users
 
License 📄 
By contributing to Dev Cockpit, you agree that your contributions will be licensed under GPL 3.0. Check the LICENSE file for more information.
Thank You! ❤️ 
Thank you for being part of the Dev Cockpit community. Together, we can build the best macOS development command center!
INFO
Need help getting started? Feel free to reach out through GitHub Issues or check the documentation at devcockpit.app
