Opinionated local CI that checks your code before it leaves your machine. After every commit a git hook runs four stages in a worktree at that commit: lint and build in parallel, then a fast suite, with a slow suite in the background, each held to a strict time budget (30 s, 30 s, 10 s and 5 minutes). The pre-push hook stops a push whose lint, build or fast suite failed. There are two ways in. People watch fun-ci console, a terminal dashboard drawn in 24-bit colour by a Rust renderer (included in the Linux and macOS gems), where each milestone of a run plays its own scene: a rocket while it runs, fireworks when it passes, an explosion when it fails, and a quiet night scene when nothing has run for a while. Coding agents and scripts ask with commands that answer in exit codes: fun-ci wait blocks until a commit's verdict is in, and fun-ci why prints what was kept about a failure (the failures a test runner reported, excerpts picked out by presets for 34 tools, log lines, the end of the output, with secrets masked), so nobody has to run a suite again to see what broke. Results are kept in SQLite. Any language works, since the stages are shell scripts; fun-ci init writes them for Ruby, Gradle and Maven projects.
Required Ruby Version
>= 3.2
Authors
Erik Thyge Madsen
Versions
-
2.3.0
-
source
- 2.3.0 source October 02, 2026 (139 KB)
-
aarch64-linux
- 2.3.0 multi-abi October 02, 2026 (1.04 MB)
-
arm64-darwin
- 2.3.0 multi-abi October 02, 2026 (999 KB)
-
x86_64-darwin
- 2.3.0 multi-abi October 02, 2026 (1.01 MB)
-
x86_64-linux
- 2.3.0 multi-abi October 02, 2026 (1.07 MB)
-
x86_64-linux-musl
- 2.3.0 multi-abi October 02, 2026 (1.12 MB)
-
-
2.2.0
-
source
- 2.2.0 source October 01, 2026 (131 KB)
-
aarch64-linux
- 2.2.0 multi-abi October 01, 2026 (1.02 MB)
-
arm64-darwin
- 2.2.0 multi-abi October 01, 2026 (984 KB)
-
x86_64-darwin
- 2.2.0 multi-abi October 01, 2026 (1020 KB)
-
x86_64-linux
- 2.2.0 multi-abi October 01, 2026 (1.05 MB)
-
x86_64-linux-musl
- 2.2.0 multi-abi October 01, 2026 (1.1 MB)
-
-
2.1.1
-
source
- 2.1.1 source September 30, 2026 (116 KB)
-
aarch64-linux
- 2.1.1 multi-abi September 30, 2026 (1000 KB)
-
arm64-darwin
- 2.1.1 multi-abi September 30, 2026 (938 KB)
-
x86_64-darwin
- 2.1.1 multi-abi September 30, 2026 (977 KB)
-
x86_64-linux
- 2.1.1 multi-abi September 30, 2026 (1.01 MB)
-
x86_64-linux-musl
- 2.1.1 multi-abi September 30, 2026 (1.06 MB)
-
-
2.1.0
-
source
- 2.1.0 source September 30, 2026 (116 KB)
-
aarch64-linux
- 2.1.0 multi-abi September 30, 2026 (1000 KB)
-
arm64-darwin
- 2.1.0 multi-abi September 30, 2026 (938 KB)
-
x86_64-darwin
- 2.1.0 multi-abi September 30, 2026 (975 KB)
-
x86_64-linux
- 2.1.0 multi-abi September 30, 2026 (1.01 MB)
-
x86_64-linux-musl
- 2.1.0 multi-abi September 30, 2026 (1.06 MB)
-
-
2.0.2
-
source
- 2.0.2 source September 29, 2026 (94 KB)
-
aarch64-linux
- 2.0.2 multi-abi September 29, 2026 (746 KB)
-
arm64-darwin
- 2.0.2 multi-abi September 29, 2026 (697 KB)
-
x86_64-darwin
- 2.0.2 multi-abi September 29, 2026 (728 KB)
-
x86_64-linux
- 2.0.2 multi-abi September 29, 2026 (761 KB)
-
x86_64-linux-musl
- 2.0.2 multi-abi September 29, 2026 (818 KB)
-