Skip to content

Conversation

@licht1stein
Copy link
Owner

Summary

Converts brepl to use bb uberscript for distribution, bundling all dependencies (including parmezan) into a single self-contained file. This eliminates runtime network access and enables installation in sandboxed/offline environments like Nix.

Changes

  • Restructure source to src/brepl/lib/ with proper namespaces
  • Replace dynamic deps/add-deps with static dependency in bb.edn
  • Add bb build task to generate uberscript from source
  • Add curl installation option to README
  • Add pre-commit hook to auto-rebuild when source changes
  • Update shell.nix to configure git hooks automatically

Testing

  • bb test passes
  • ./brepl --version works
  • Hook installation/evaluation tested manually

Restructure brepl for self-contained distribution via `bb uberscript`:

- Move `lib/*.clj` to `src/brepl/lib/` with standard namespace paths
- Add parmezan as static dependency in `bb.edn` (removes runtime download)
- Replace dynamic `load-file` with static requires in ns form
- Add `bb build` task to generate uberscript with shebang
- Update `version-bump` task to modify source and regenerate
- Simplify `package.nix` to just copy single `brepl` file

The `brepl` file is now a generated artifact containing all code bundled
inline, including parmezan for bracket-fixing. No network access needed
at runtime.

Fixes #10
@licht1stein licht1stein merged commit 33717fd into master Jan 5, 2026
2 checks passed
@licht1stein licht1stein deleted the uberscript branch January 5, 2026 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants