Skip to content

Commit 8a3f8bd

Browse files
committed
Doc: add section for external contributors
1 parent a716109 commit 8a3f8bd

File tree

4 files changed

+105
-0
lines changed

4 files changed

+105
-0
lines changed

website/docs/developers/getting-started.mdx

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,107 @@ make build-testing
279279
4. **Read CLAUDE.md**: Check the project-specific development guide in the root
280280
directory
281281

282+
## Contributing to Mina
283+
284+
We welcome contributions from external developers! Whether you're fixing bugs,
285+
adding features, or improving documentation, your contributions help make Mina
286+
better for everyone.
287+
288+
### Finding Your First Issue
289+
290+
If you're new to the project and looking for a good place to start, check out
291+
issues labeled as "good first issue":
292+
293+
**[View First Good Issues →](https://github.com/o1-labs/openmina/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22)**
294+
295+
These issues are specifically chosen to be:
296+
297+
- Well-documented with clear requirements
298+
- Self-contained and focused in scope
299+
- Good introductions to the codebase
300+
- Suitable for developers new to the project
301+
302+
Before starting work on any issue, please comment on it to let others know
303+
you're working on it and to coordinate with the maintainers.
304+
305+
### Code Quality Standards
306+
307+
We maintain high code quality standards to ensure the codebase remains
308+
maintainable and consistent. Please follow these guidelines when contributing:
309+
310+
#### Required Checks Before Submitting
311+
312+
**1. Formatting and Linting:**
313+
314+
```bash
315+
# Format all code (Rust, TOML, and markdown files)
316+
make format
317+
make format-md
318+
319+
# Check formatting is correct
320+
make check-format
321+
make check-md
322+
323+
# Run linting
324+
make lint
325+
```
326+
327+
**2. Remove Trailing Whitespaces:**
328+
329+
```bash
330+
# Critical: Remove trailing whitespaces (mandatory before every commit)
331+
make fix-trailing-whitespace
332+
333+
# Verify no trailing whitespaces remain
334+
make check-trailing-whitespace
335+
```
336+
337+
**3. Compilation and Testing:**
338+
339+
```bash
340+
# Ensure code compiles without errors
341+
make check
342+
343+
# Run the test suite in debug mode
344+
make test
345+
346+
# Or run the test suite in release mode
347+
make test-release
348+
```
349+
350+
**4. Environment Setup for Tests:**
351+
352+
Some tests require SQLite database setup:
353+
354+
```bash
355+
# Create SQLite database for heartbeats processor
356+
sqlite3 /tmp/heartbeats.db < tools/heartbeats-processor/schema.sql
357+
export DATABASE_URL="sqlite:///tmp/heartbeats.db"
358+
```
359+
360+
#### Pull Request Requirements
361+
362+
- **All formatting commands must pass** (`make format`, `make format-md`,
363+
`make fix-trailing-whitespace`)
364+
- **Code must compile** (`make check` succeeds)
365+
- **Tests must pass** (at minimum `make test`)
366+
- **No trailing whitespaces** in any files
367+
- **Follow existing code patterns** and conventions in the file you're editing
368+
- **Include clear commit messages** wrapped at 80 characters
369+
370+
#### Development Workflow
371+
372+
1. Make your changes following existing code patterns
373+
2. Run formatting: `make format && make format-md`
374+
3. Remove trailing whitespaces: `make fix-trailing-whitespace`
375+
4. Verify compilation: `make check`
376+
5. Run tests: `make test`
377+
6. Commit your changes with a clear message
378+
7. Submit your pull request
379+
380+
Following these standards helps maintain code consistency and makes the review
381+
process smoother for everyone.
382+
282383
## Getting Help
283384

284385
- **Documentation**:

website/docs/node-operators/alpha-testing.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Ensure you have **Docker** installed:
1919
## 2. Download & Start the Node
2020

2121
1. **Download the Latest Release**:
22+
2223
- Visit the
2324
[Open Mina Releases](https://github.com/openmina/openmina/releases).
2425
- Download the latest `openmina-vX.Y.Z-docker-compose.zip`.

website/docs/node-operators/block-producer.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ using the Makefile target. This method requires building from source.
140140
```
141141

142142
Optional parameters:
143+
143144
- `MINA_LIBP2P_EXTERNAL_IP` - Sets external IP address
144145
- `MINA_LIBP2P_PORT` - Sets libp2p communication port
145146
- `PRODUCER_KEY_FILENAME` - Path to producer key (default:

website/docs/node-operators/local-demo.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ operating system, follow these steps:
66
## Setup Option 1: Download Docker Compose Files from the Release
77

88
1. **Download the Docker Compose files:**
9+
910
- Go to the [Releases page](https://github.com/openmina/openmina/releases) of
1011
this repository.
1112
- Download the latest `openmina-vX.Y.Z-docker-compose.zip` (or `.tar.gz`)
1213
file corresponding to the release version (available since v0.8.0).
1314

1415
2. **Extract the files:**
16+
1517
- Unzip or untar the downloaded file:
1618
```bash
1719
unzip openmina-vX.Y.Z-docker-compose.zip

0 commit comments

Comments
 (0)