mizchi

mizchi / pkfire

Public

Typed task runner with Bazel-style incremental caching, configured in Pkl.

44
1
89% credibility
Found May 20, 2026 at 44 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Go
AI Summary

pkfire is a smart task runner for software projects that replaces traditional build scripts with typed, declarative definitions. When you run a task, pkfire remembers exactly what files and commands produced the result. The next time you run, it checks if anything changed—and if nothing did, it instantly restores the previous output instead of re-running. This means your build, test, and deploy commands become dramatically faster as your project grows. pkfire also watches your files for changes and can share cached results with your team through a remote cache, making collaborative development smoother.

How It Works

1
😤 You're tired of slow, unreliable builds

Your project has grown messy with copy-pasted scripts, and running tests means waiting for everything to rebuild every single time.

2
You discover pkfire

A smart task runner that remembers what changed and only runs the steps that need to run. Your builds become instant.

3
📝 You write your first task definition

Instead of cryptic scripts, you write clear, typed definitions that describe what each task needs and produces.

4
🚀 Your first run completes

Everything runs as expected, and pkfire saves the results. You see 'ran' in the output.

5
The second run is instant

Nothing changed, so pkfire restores your previous results in a split second. You see 'hit' in the output.

6
You have options for how to work
👀
Watch mode

pkfire automatically re-runs tasks when you save changes to your files

👥
Team sharing

Set up a shared cache so your whole team gets cache hits from each other's builds

🎉 Your project runs faster than ever

Only the changed parts rebuild. Your team shares results. You spend less time waiting and more time building.

Sign up to see the full architecture

5 more

Sign Up Free

Star Growth

See how this repo grew from 44 to 44 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is pkfire?

pkfire is a task runner written in Go that replaces string-based alternatives like `make`, `just`, and npm scripts. You define tasks in Pkl—a typed configuration language—where each task declares its inputs, outputs, and dependencies. The runner then builds a dependency graph and executes only the steps whose inputs have changed, restoring cached outputs for unchanged tasks. It stores artifacts in a content-addressed cache under `~/.cache/pkfire` and supports remote caching via HTTP so teams can share build artifacts across machines and CI runs.

Why is it gaining traction?

The typed dependency model is the differentiator. In pkfire, `deps { build }` references the actual `build` task object—not a string—so typos fail at evaluation time, before anything runs. Cross-compile matrices that would normally produce four near-identical recipes collapse into a single template function. The Bazel-style incremental caching means a 30-second build that hasn't changed reruns in milliseconds. Watch mode re-executes only the affected subgraph when files change, and the remote cache protocol is simple enough to implement with a 60-line Cloudflare Worker.

Who should use this?

Go or polyglot monorepo maintainers drowning in `justfile` duplication who want compile-time validation of their task graph. Developers whose CI pipelines waste time rebuilding unchanged artifacts. Teams running multiple similar services that differ only in path or toolchain—pkfire's template inheritance handles the boilerplate. The GitHub Actions integration makes it immediately usable for anyone already on GitHub.

Verdict

pkfire is a serious tool with thoughtful design, but 44 stars signals early-stage software. Documentation is thorough and the dogfood examples are solid, but the Pkl dependency means adopting this is a bigger commitment than dropping in a new npm package. If you want the safety of typed task graphs with incremental caching, it's worth a weekend evaluation. The credibility score of 0.9% reflects a small but active project—watch closely but don't bet production on it yet.

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.