[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-76152":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},76152,"haxy","xit-vcs\u002Fhaxy","xit-vcs","a git forge from the future-past","",null,"Zig",214,7,0,12,90,2.71,"MIT License",false,"master",[],"2026-06-12 02:03:40","\u003Cp align=\"center\">\n\u003Ccode>                                                 \n░██    ░██     ░████    ░██    ░██ ░██    ░██\n░██    ░██    ░██ ░██    ░██  ░██   ░██  ░██\n░██    ░██   ░██   ░██    ░█████     ░█████\n░█████████  ░█████████     ░███       ░███\n░██    ░██ ░██      ░██    ░████      ░██\n░██    ░██ ░██      ░██   ░██ ░██     ░██\n░██    ░██ ░██      ░██  ░██   ░██    ░██\n                                                 \u003C\u002Fcode>\u003C\u002Fp>\n\nYou'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!\n\nHaxy isn't usable yet, but you can follow the devlogs starting with [the first one](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=m7BOY1OCH_Q).\n\n## Why another git forge?\n\nHaxy is based around [two design ideas](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=9YjWGXi5tDw):\n\n### 1. Store project metadata (issues, pull requests, and discussions) in the repo\n\nKeeping project metadata in the repo has a few benefits:\n\n* You can easily replicate it to different Haxy instances.\n* You can view\u002Fedit it locally and push your changes later, just like you do with code.\n\nYou will still be able to edit this data via the UI of a Haxy instance just like any other git forge. Additionally, however, you'll be able to run the Haxy binary locally to browse a repo's issues and other metadata offline. If you have commit access to the repo, you'll also be able to make changes that you can push later.\n\nHaxy repos will have a special branch where events will be stored. Any time project metadata is created or updated, an event will be created. There will be one event per commit and it will be stored as JSON in the commit message itself. The server will consume these events into its database when it receives them -- essentially, a form of event sourcing. See [an early version](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=0kKKWfaYaKE) of this event system in action.\n\n### 2. Provide a TUI that is served over SSH, in addition to a web UI\n\nHaxy will provide a text user interface (TUI) over SSH, so you can browse the Haxy instance entirely from your terminal. These are sometimes called SSH apps. One big advantage they have is that you are automatically authenticated with your SSH key, so creating an account on a Haxy instance and associating it with your SSH public key can be done instantly.\n\nAdditionally, Haxy will provide a web UI for a more typical experience in a web browser. To avoid having separate UI codebases, the web UI will simply render the TUI in your browser. This sounds frightening but it can be done in an accessible way that is usable for screen readers and mobile devices. See [a more detailed look](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=hDFNcvF80WU) at how the web UI will work.\n\n## Why not Radicle?\n\nThe main difference between Haxy's design and [Radicle](https:\u002F\u002Fradicle.dev\u002F) is that Haxy is not peer-to-peer. While a p2p architecture can be useful in free speech contexts, it can lead to a significant amount of complexity and make it more difficult to have a consistently good experience. Haxy is *federated* in the sense that anyone can run a Haxy instance, and your projects can be easily moved between them. I believe that is pragmatically the kind of decentralization that people want, and it significantly simplifies the implementation.\n\n## How to fire this puppy up and get 'er done\n\nTo build, install zig 0.16.0 and do `zig build` and you'll find the binary at `zig-out\u002Fbin\u002Fhaxy`.\n\nIt can't do much right now...it's just a git server at the moment. If you want to try it out, do this:\n\n```\nmkdir -p server\n.\u002Fzig-out\u002Fbin\u002Fhaxy serve --http-listen 127.0.0.1:8080 --data-dir server\n```\n\nThen, in another terminal, do this:\n\n```\nmkdir -p client\u002Ftest\ncd client\u002Ftest\ngit init\necho \"hello\" > hello.txt\ngit add hello.txt\ngit commit -m \"let there be light\"\ngit remote add origin http:\u002F\u002F127.0.0.1:8080\u002Ftest\ngit push origin HEAD:master\n```\n\nAfter that, you'll see your repo in `server\u002Frepos\u002Ftest`. It's MAGIC!\n\n*\"C'mon Alex! You always dreamt about going on a big adventure! Let this be our first!\" -- Lunar: Silver Star Story*\n","Haxy 是一个正在开发中的新型 Git 托管平台。它主要使用 Zig 语言编写，旨在通过将项目元数据（如问题、拉取请求和讨论）存储在仓库中来实现数据的本地化管理和跨实例复制，同时支持通过 SSH 提供文本用户界面（TUI）以及传统的网页界面。这种设计不仅允许用户离线查看和编辑项目信息，并且利用事件源机制保证了数据的一致性和可追溯性。此外，通过SSH访问时自动使用SSH密钥进行身份验证，简化了用户的登录过程。Haxy 适用于需要灵活管理代码及其相关讨论的小到中型团队或个人开发者。尽管目前还处于早期阶段，但其独特的设计理念已展现出一定的潜力。",2,"2026-06-11 03:54:41","CREATED_QUERY"]