Skip to content

Latest commit

 

History

History
93 lines (67 loc) · 2.6 KB

File metadata and controls

93 lines (67 loc) · 2.6 KB

Contributing to Netcatty

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.

Code of Conduct

This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold this standard.

Ways to Contribute

  • Report bugs via GitHub Issues
  • Suggest features or improvements
  • Fix bugs or implement features listed in Issues
  • Improve documentation

Development Setup

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 dev

Build & Package

npm 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)

Linting and Tests

npm run lint           # Run ESLint
npm test               # Run the test suite

Pull Request Process

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature/your-feature-name
  3. Make your changes, following the existing project style.
  4. Commit with a clear message:
    git commit -m 'feat: add amazing feature'
  5. Push the branch and open a Pull Request against main.
  6. Run npm run lint and npm test before requesting review.
  7. If you changed the capability catalog, run npm run generate:capability-tools and commit any generated updates.
  8. Ensure all CI checks pass before requesting review.

Commit Message Convention

We recommend following Conventional Commits:

  • feat: — new feature
  • fix: — bug fix
  • docs: — documentation only
  • refactor: — code change without feature or fix
  • chore: — build process or tooling changes

Architecture & Coding Guidelines

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.

License

By contributing, you agree that your contributions will be licensed under the GPL-3.0 License.