/picobu

The missing PICO-8 source code bundler. PicoBu(ild)! 🦀

Primary LanguageRust

PicoBu(ild) - the simple, one-command build system for PICO-8 games. Written in Rust 🦀

Picobu uses a sensible-defaults, zero-configuration approach. You can use it by simply typing in the picobu command in your project directory. It also supports a watch mode - rebuilding the cartridge on file changes.

Update: With the addition of "#include" statements in the newest version of PICO-8, Picobu is no longer required to enable source code splitting. While the program still definitely works it is encouraged to use "#include" instead.

Usage

# Look for *.lua files in the src/ directory and compile them into a single *.p8 file.
❯ picobu

# Look for *.lua files in the code/ folder instead.
❯ picobu -i code

# Specify a name for the output file.
# Note that if a *.p8 file is already present in the current directory, picobu is smart enough to find it on it's own.
❯ picobu pico_game.p8

# Enter the watch mode (recompile when source files change)
❯ picobu -w

Installation

Cross-platform

The easiest way to install Picobu on any OS is by using cargo:

❯ cargo install picobu

Mac OS

Get it from Homebrew:

❯ brew install divoolej/tap/picobu

Windows

If you don't want to install cargo, you can download the latest release here. Keep in mind you'll have to add the executable to your PATH manually.

Linux

I don't provide pre-built Linux binaries at the moment, so you'll have to use cargo.

Building from source

Building Picobu is very easy. Clone the repository, make sure you have the latest version of Rust installed (I use stable) and simply run cargo build --release

Contributing

  • Fork it (https://github.com/divoolej/picobu/fork)
  • Create your feature branch (git checkout -b my-new-feature)
  • Commit your changes (git commit -am 'Add some feature')
  • Push to the branch (git push origin my-new-feature)
  • Create a new Pull Request