Skip to content

Commit 48bf22e

Browse files
committed
docs: update dev workflow guidance
1 parent 59db751 commit 48bf22e

File tree

4 files changed

+68
-195
lines changed

4 files changed

+68
-195
lines changed

.serena/memories/suggested_commands.md

Lines changed: 27 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,99 +4,83 @@
44

55
| Command | Description |
66
|---------|-------------|
7-
| `make help` | Show all available make targets |
8-
| `make build` | Build the project with all features |
9-
| `make test` | Run unit tests |
10-
| `make check` | Run format check + clippy linting |
11-
| `make fmt` | Format code (requires nightly) |
12-
| `make ci` | Full CI pipeline (format, lint, test, doc-check) |
7+
| `cargo build --workspace --all-features` | Build the project with all features |
8+
| `cargo test --lib` | Run unit tests |
9+
| `cargo +nightly fmt --all` | Format code (requires nightly) |
10+
| `cargo clippy --workspace --all-targets -- -D warnings` | Run clippy linting |
11+
| `cargo doc --workspace --no-deps --open` | Build and open documentation |
12+
13+
## Setup (One-Time)
14+
15+
```bash
16+
mise trust && mise install
17+
rustup component add rustfmt clippy
18+
rustup toolchain install nightly --component rustfmt
19+
```
1320

1421
## Build Commands
1522

1623
```bash
1724
# Build all workspace crates with all features
18-
make build
19-
# Or directly:
2025
cargo build --workspace --all-features
2126
```
2227

2328
## Test Commands
2429

2530
```bash
2631
# Unit tests only
27-
make test
28-
# Or: cargo test --lib
32+
cargo test --lib
2933

3034
# Integration tests (requires local InferaDB via inferadb/deploy)
31-
make test-integration
32-
# Or: cargo test --test integration
35+
cargo test --test integration
3336

3437
# All tests
35-
make test-all
36-
# Or: cargo test --lib --test integration
38+
cargo test --lib --test integration
3739
```
3840

3941
## Code Quality
4042

4143
```bash
4244
# Format code (requires nightly toolchain)
43-
make fmt
44-
# Or: cargo +nightly fmt --all
45+
cargo +nightly fmt --all
4546

4647
# Check formatting without modifying
47-
make fmt-check
48-
# Or: cargo +nightly fmt --all -- --check
48+
cargo +nightly fmt --all -- --check
4949

5050
# Run clippy linter
51-
make clippy
52-
# Or: cargo clippy --workspace --all-targets -- -D warnings
53-
54-
# Both format check and clippy
55-
make check
51+
cargo clippy --workspace --all-targets -- -D warnings
5652
```
5753

5854
## Documentation
5955

6056
```bash
6157
# Build docs
62-
make doc
63-
# Or: cargo doc --workspace --no-deps
58+
cargo doc --workspace --no-deps
6459

6560
# Build and open in browser
66-
make doc-open
67-
# Or: cargo doc --workspace --no-deps --open
61+
cargo doc --workspace --no-deps --open
6862

6963
# Check docs for warnings
70-
make doc-check
71-
# Or: RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps
64+
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps
7265
```
7366

7467
## Coverage
7568

7669
```bash
7770
# Run tests with coverage
78-
make coverage
79-
# Or: cargo llvm-cov --lib --ignore-filename-regex 'proto|inferadb\.authorization\.v1'
71+
cargo llvm-cov --lib --ignore-filename-regex 'proto|inferadb\.authorization\.v1'
8072

8173
# Generate HTML coverage report
82-
make coverage-html
74+
cargo llvm-cov --lib --ignore-filename-regex 'proto|inferadb\.authorization\.v1' --html
8375
```
8476

8577
## Code Generation
8678

8779
```bash
8880
# Regenerate protobuf code from proto/inferadb.proto
89-
make proto
90-
```
91-
92-
## Setup & CI
93-
94-
```bash
95-
# One-time development setup (installs toolchain and tools)
96-
make setup
97-
98-
# Full CI pipeline
99-
make ci
81+
rm -f src/transport/proto/inferadb.authorization.v1.rs
82+
cargo build --features grpc
83+
cargo +nightly fmt --all
10084
```
10185

10286
## Running Examples

.serena/memories/task_completion.md

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,27 @@
22

33
## Before Marking a Task Complete
44

5-
Run the full CI check:
5+
Run the full CI check sequence:
66

77
```bash
8-
make ci
8+
cargo +nightly fmt --all -- --check
9+
cargo clippy --workspace --all-targets -- -D warnings
10+
cargo test --lib
11+
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps
912
```
1013

11-
This runs:
12-
1. Format check (`make fmt-check`)
13-
2. Clippy linting (`make clippy`)
14-
3. Unit tests (`make test`)
15-
4. Documentation check (`make doc-check`)
16-
1714
## Individual Checks
1815

1916
### 1. Format Code
2017

2118
```bash
22-
make fmt
19+
cargo +nightly fmt --all
2320
```
2421

2522
### 2. Run Linting
2623

2724
```bash
28-
make clippy
25+
cargo clippy --workspace --all-targets -- -D warnings
2926
```
3027

3128
Clippy treats all warnings as errors (`-D warnings`).
@@ -34,26 +31,27 @@ Clippy treats all warnings as errors (`-D warnings`).
3431

3532
```bash
3633
# Unit tests
37-
make test
34+
cargo test --lib
3835

3936
# If you modified integration test-related code
40-
make test-integration # requires local InferaDB
37+
cargo test --test integration # requires local InferaDB
4138
```
4239

4340
### 4. Check Documentation
4441

4542
```bash
46-
make doc-check
43+
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps
4744
```
4845

4946
All public items must be documented. This catches missing or broken documentation.
5047

5148
## PR Checklist
5249

53-
- [ ] CI passes (`make ci`)
54-
- [ ] Tests pass (`make test`)
55-
- [ ] No clippy warnings (`make clippy`)
56-
- [ ] Code formatted (`make fmt`)
50+
- [ ] Format check passes (`cargo +nightly fmt --all -- --check`)
51+
- [ ] No clippy warnings (`cargo clippy --workspace --all-targets -- -D warnings`)
52+
- [ ] Tests pass (`cargo test --lib`)
53+
- [ ] Documentation check passes (`RUSTDOCFLAGS="-D warnings" cargo doc`)
54+
- [ ] Code formatted (`cargo +nightly fmt --all`)
5755
- [ ] Documentation updated for public API changes
5856
- [ ] CHANGELOG.md updated (under `[Unreleased]`)
5957
- [ ] Version bumped if needed (for breaking changes)
@@ -62,4 +60,4 @@ All public items must be documented. This catches missing or broken documentatio
6260

6361
- Formatting requires nightly: `cargo +nightly fmt`
6462
- Generated protobuf code (`src/transport/proto/`) is committed to the repo
65-
- If proto files changed, run `make proto` to regenerate
63+
- If proto files changed, regenerate with: `cargo build --features grpc`

Makefile

Lines changed: 0 additions & 134 deletions
This file was deleted.

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,31 @@ cargo run -p inferadb-examples --bin batch_operations
274274
cargo run -p inferadb-examples --bin axum_middleware
275275
```
276276

277+
## Development
278+
279+
```bash
280+
# Setup (one-time)
281+
mise trust && mise install
282+
rustup component add rustfmt clippy
283+
rustup toolchain install nightly --component rustfmt
284+
285+
# Build
286+
cargo build --workspace --all-features
287+
288+
# Run tests
289+
cargo test --lib
290+
291+
# Format and lint
292+
cargo +nightly fmt --all
293+
cargo clippy --workspace --all-targets -- -D warnings
294+
295+
# Generate documentation
296+
cargo doc --workspace --no-deps --open
297+
298+
# Code coverage
299+
cargo llvm-cov --lib --ignore-filename-regex 'proto|inferadb\.authorization\.v1'
300+
```
301+
277302
## Contributing
278303

279304
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.

0 commit comments

Comments
 (0)