Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 19 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ Thanks for your interest in contributing! 🎉 This guide covers everything you
## Quick start

```bash
git clone https://github.com/<owner>/toolpulse.git
git clone https://github.com/mienetic/toolpulse.git
cd toolpulse
npm install
npm ci
npm run tauri dev
```

**Prerequisites:** Node.js 20+, Rust stable ([rustup](https://rustup.rs/)), and the [Tauri 2 system dependencies](https://v2.tauri.app/start/prerequisites/).
**Prerequisites:** Node.js 20+ (including npm), Rust stable ([rustup](https://rustup.rs/)), and the [Tauri 2 system dependencies](https://v2.tauri.app/start/prerequisites/) for your operating system.

## Project structure

Expand All @@ -25,7 +25,7 @@ src/lib/ API wrappers, icon helpers, tree builder

## How to add a new tool

Append a `ToolDefinition` to `builtin_tools()` in `src-tauri/src/tools/registry.rs`. Install/uninstall/upgrade commands are attached automatically via `apply_default_actions`. No other code changes needed.
Append a `ToolDefinition` to `builtin_tools()` in `src-tauri/src/tools/registry.rs`. Install/uninstall/upgrade commands are attached automatically via `apply_default_actions`. No other code changes are needed.

## How to add a new ecosystem to the project scanner

Expand All @@ -35,9 +35,9 @@ Append a `ToolDefinition` to `builtin_tools()` in `src-tauri/src/tools/registry.

## Code style

- **Rust:** `cargo fmt` + `cargo clippy` before committing.
- **TypeScript:** `npx tsc --noEmit` must pass. Match the existing style (functional components, hooks, no class components).
- Comments: explain *why*, not *what*. Every public function has a doc comment.
- **Rust:** Run `cargo fmt --check --manifest-path src-tauri/Cargo.toml` and `cargo clippy --manifest-path src-tauri/Cargo.toml` before committing.
- **TypeScript:** Run `npx tsc --noEmit`. Match the existing style (functional components and hooks).
- **Comments:** Explain *why*, not *what*, and document public APIs where their purpose or constraints are not obvious.

## Commit messages

Expand All @@ -52,14 +52,21 @@ refactor: lift scan state to App level

## Pull requests

1. Fork the repo and create a branch: `git checkout -b feat/my-feature`
2. Make your changes. Ensure `cargo check` and `npx tsc --noEmit` pass.
3. Commit with a conventional commit message.
4. Push and open a PR. Describe what changed and why.
1. Fork the repository and create a branch: `git checkout -b feat/my-feature`.
2. Make your changes.
3. Run the same core checks as CI:

```bash
npx tsc --noEmit
cargo check --manifest-path src-tauri/Cargo.toml
```

4. Commit with a conventional commit message.
5. Push the branch and open a PR that explains what changed and why.

## Reporting bugs

Use the in-app "Report on GitHub" button (it pre-fills system info), or [open an issue](https://github.com/<owner>/toolpulse/issues/new/choose) directly.
Use the in-app "Report on GitHub" button (it pre-fills system info), or [open an issue](https://github.com/mienetic/toolpulse/issues/new/choose) directly.

## License

Expand Down
16 changes: 12 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,16 +81,24 @@ Built with **Tauri 2 + React + Rust**. Cross-platform, fast, and open-source.
## 🚀 Getting started

### Prerequisites
- [Node.js](https://nodejs.org/) 20+
- [Rust](https://www.rust-lang.org/) stable — `rustup update stable`
- [Tauri 2 prerequisites](https://v2.tauri.app/start/prerequisites/)
- [Node.js](https://nodejs.org/) 20+ (includes npm)
- [Rust](https://www.rust-lang.org/) stable — install with [rustup](https://rustup.rs/) and update with `rustup update stable`
- [Tauri 2 system dependencies](https://v2.tauri.app/start/prerequisites/) for your operating system

### Run in development
```bash
npm install
git clone https://github.com/mienetic/toolpulse.git
cd toolpulse
npm ci
npm run tauri dev
```

### Validate your changes
```bash
npx tsc --noEmit
cargo check --manifest-path src-tauri/Cargo.toml
```

### Build a production bundle
```bash
npm run tauri build
Expand Down
Loading