╭ changed ╮ │README.md│ ╰─────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │10 </code></p> │ │11 │ │12 You're looking at Haxy, a new git forge. This is a work in progress...there's not much here yet besides hopes and dreams. We're about to do for git forges what Bill Hicks did for comedy, Earth Crisis did for hardcore music, and Marvin Heemeyer did for exterior remodeling. I'm not sure what any of that means but it sounded cool. The point is, strap yourselves in...we're gonna Leeroy Jenkins our way through this!│ │13 + │ │14 +## How to fire this puppy up and get 'er done │ │15 + │ │16 +To build, install zig 0.16.0 and do `zig build` and you'll find the binary at `zig-out/bin/haxy`. │ │17 │ │14 -To run, install zig 0.16.0 and do `zig build run`. │ │18 +It can't do much right now...it's just a git server at the moment. If you want to try it out, do this: │ │19 + │ │20 +``` │ │21 +mkdir server │ │22 +./zig-out/bin/haxy serve --http-listen 127.0.0.1:8080 --project-root server │ │23 +``` │ │24 + │ │25 +Then, in another terminal, do this: │ │26 + │ │27 +``` │ │28 +mkdir -p client/test │ │29 +cd client/test │ │30 +git init │ │31 +echo "hello" > hello.txt │ │32 +git add hello.txt │ │33 +git commit -m "let there be light" │ │34 +git remote add origin http://127.0.0.1:8080/test │ │35 +git push origin HEAD:master │ │36 +``` │ │37 │ │38 +After that, you'll see your repo in `server/test`. It's MAGIC! Obviously, this is not very useful right now. I'm currently nailing down the git functionality before working on other things like user accounts and the UI. │ │39 + │ │40 +## The longer term vision │ │41 + │ │42 A few [early design ideas](https://www.youtube.com/watch?v=9YjWGXi5tDw): │ │43 │ │44 1. Store project metadata (issues, pull requests, and discussions) in the repo, so it can be easily replicated to different Haxy instances. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯