Thank you for your interest in contributing to Netcatty — an AI-powered SSH client, SFTP browser, and terminal manager built with Electron, React, and xterm.js.
Please read this guide before submitting issues or pull requests.
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold this standard.
- Report bugs via GitHub Issues
- Suggest features or improvements
- Fix bugs or implement features listed in Issues
- Improve documentation
Prerequisites: Node.js 22+ and npm.
# Clone the repository
git clone https://github.com/binaricat/Netcatty.git
cd Netcatty
# Install dependencies
npm ci
# Start in development mode (Vite + Electron)
npm run devnpm run build # Build for production
npm run pack # Package for current platform
npm run pack:mac # macOS (DMG + ZIP)
npm run pack:win # Windows (NSIS, portable, ZIP)
npm run pack:linux # Linux (AppImage, DEB, RPM, pacman)npm run lint # Run ESLint
npm test # Run the test suite- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes, following the existing project style.
- Commit with a clear message:
git commit -m 'feat: add amazing feature' - Push the branch and open a Pull Request against
main. - Run
npm run lintandnpm testbefore requesting review. - If you changed the capability catalog, run
npm run generate:capability-toolsand commit any generated updates. - Ensure all CI checks pass before requesting review.
We recommend following Conventional Commits:
feat:— new featurefix:— bug fixdocs:— documentation onlyrefactor:— code change without feature or fixchore:— build process or tooling changes
Netcatty is organized around three layers:
- Domain logic in
domain/ - Application state in
application/state/ - UI components in
components/
Keep side effects in application or infrastructure code, avoid direct
localStorage or network calls from components, and update relevant
documentation when behavior changes.
By contributing, you agree that your contributions will be licensed under the GPL-3.0 License.