mirror of
https://github.com/binaricat/Netcatty.git
synced 2026-10-09 15:58:34 +00:00
94 lines
2.6 KiB
Markdown
94 lines
2.6 KiB
Markdown
# 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](./CODE_OF_CONDUCT.md). By participating, you agree to uphold this standard.
|
|
|
|
## Ways to Contribute
|
|
|
|
- Report bugs via [GitHub Issues](https://github.com/binaricat/Netcatty/issues)
|
|
- Suggest features or improvements
|
|
- Fix bugs or implement features listed in Issues
|
|
- Improve documentation
|
|
|
|
## Development Setup
|
|
|
|
**Prerequisites:** Node.js 22+ and npm.
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
npm run lint # Run ESLint
|
|
npm test # Run the test suite
|
|
```
|
|
|
|
## Pull Request Process
|
|
|
|
1. Fork the repository.
|
|
2. Create a feature branch:
|
|
```bash
|
|
git checkout -b feature/your-feature-name
|
|
```
|
|
3. Make your changes, following the existing project style.
|
|
4. Commit with a clear message:
|
|
```bash
|
|
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](https://www.conventionalcommits.org/):
|
|
|
|
- `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](./LICENSE).
|