This guide will help you set up a development environment and build Pumpkin from source.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Pumpkin-MC/Pumpkin/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Required Tools
Rust Toolchain
Pumpkin requires Rust 1.89 or later:Git
Required to clone the repository:Optional Tools
Clippy (Recommended)
Linter for catching common mistakes:cargo-watch (Recommended)
Auto-rebuild on file changes:typos (Recommended)
Detect and fix typos automatically:Getting the Source
Clone the Repository
Repository Structure
Building Pumpkin
Development Build
Fastest compilation, includes debug symbols:target/debug/pumpkin.
Release Build
Optimized for performance:target/release/pumpkin.
Release builds take significantly longer but produce much faster executables.
The release profile uses LTO (Link-Time Optimization) and single codegen unit for maximum performance.
Running the Server
After building:cargo run:
Development Workflow
Running Tests
Run all unit tests:Linting with Clippy
Pumpkin uses strict Clippy settings. Run before submitting PRs:Code Formatting
Format code with rustfmt:Auto-rebuild on Changes
Usecargo-watch for automatic rebuilds:
Advanced Build Options
Build Profiles
Pumpkin defines several build profiles:Release Profile
Profiling Profile
For performance profiling:Bench Profile
Feature Flags
Pumpkin supports optional features:Console Subscriber (Tokio Debugging)
Enables tokio-console for async runtime debugging:Tokio Task Dump
Enables task dumping for debugging:Building Specific Crates
Build individual workspace members:Running Benchmarks
Pumpkin includes benchmarks using Criterion:target/criterion/.
Troubleshooting
Build Failures
Rust Version Too Old
Clippy Warnings Blocking Build
If clippy warnings prevent compilation:Out of Memory
Release builds with LTO can use significant memory:Cleaning Build Artifacts
Remove all build artifacts:Development Tools
VS Code Setup
Recommended extensions:- rust-analyzer: Rust language server
- CodeLLDB: Debugging support
- Even Better TOML: TOML syntax highlighting
IntelliJ IDEA / CLion Setup
Install the Rust plugin from JetBrains marketplace.Platform-Specific Notes
Linux
No special requirements. All dependencies are in Cargo.toml.macOS
No special requirements. Ensure Xcode Command Line Tools are installed:Windows
Install Visual Studio Build Tools or Visual Studio with C++ development tools.Performance Testing
Before submitting performance-sensitive changes:-
Profile your changes:
-
Run benchmarks:
-
Compare results in
target/criterion/
Next Steps
- System Architecture - Understand Pumpkin’s design
- Contributing Guidelines - Submit your changes
- Quick Start - Run your built server
