The first unique characteristic is that it was built in Rust? Why does it matter from a user perspective? I was expecting the first point to be something that would convince me to check it out.
Unless the goal is to find people to collaborate on building the software. I got a bit confused.
Interesting stuff! I really like the design philosophy you're applying here, where the browser/web behaviour is actually part of the UX. Pretty rare for web application nowadays!
If I could make one suggestion, I really like the old MacOS "inspector" pattern. Basically a consistent way to get meta-information about any "thing" the user chooses to inspect. Your right sidebar is going towards that, but it would need some work to make it more consistent between views.
GitHub's UI has these weird meta-states/restrictions that are so badly explained in the UI they feel like bugs. Each line gets a [...] menu in github which lets you see the blame/spawn a issue linking to it/get a permalink/etc. It's a totally different UI in the diff view, and then totally different again if you're looking at a comment referencing a line in a diff AND different if it's referencing a permalink to a line in a file, even if it's the same code that would be in that diff!
I want the UI to have obvious "nouns". If the UI is showing me a line of code, even if it's in a diff view, let me "inspect" it and get the exact same meta-info + tools I get for lines of code anywhere. It's "a line", not a weird meta state of "a line, but you're in the comment of a PR linking to this line".
Same concept applies to comments/commits/authors/etc. If the UI shows me a username, I should be able to pull up a "who is that again" inspector. Going into github's commit view, clicking on a name... and being sent to a filtered list of that person's commits makes zero sense to me because this is the ONLY place where that happens. That behaviour should be a "recent commits" button inside some "user inspector".
i'm not aware of the old macOS inspector pattern, but this sounds super interesting and i agree with the critique of inconsistency in github's behavior.
this reminds me a tad of superhuman's right panel too which auto-populates upon writing a time (or typing a name i believe?), which is a feature i do find personally useful as well.
i haven't thought seriously about hovers on nouns quite yet, but this is giving me much to munch on.
Big fan of the design! Different but easy to get a hand of. Having /profile also be linked on the homepage with the other main pages for ease of navigation would be nice, the profile link at the bottom feels like it clashes with the rest of the UI to my eyes.
Just one minor piece of feedback that's unlikely to be a priority. I cannot fully navigate when browsing in a terminal browser (chawan in my case, haven't tried with w3m or lynx). For example the "h" keymap for going home does not work.
That said though, one of my pet peeves around browsing Github Web from the terminal was having to click "skip to content" just to get the body. So you definitely delivered there (after having read your design post). Good luck with the rest of the year.
Would be interested in a comparison with https://sourcehut.org/ (which has a comparable minimal aesthetic, but also has the deep benefit of being FOSS.
The minimal look feels very refreshing, and yet it's not disorienting like many minimal web git UIs are in my experience; I actually feel like I know how to navigate this thing. Site feels very snappy too, especially with those instantly loading file previews when you hover. Congrats!
It seems like the site is currently getting hugged so I can't look but I'm glad someone is trying to achieve a more minimalistic take on the UX of a software forge. It seems like an area with good room for improvement.
> [...] you may not use any of the Marks as a syllable in a new word or as part of a portmanteau (e.g., "Gitalicious", "Gitpedia") used as a mark for a third-party product or service.
> Please be aware that GitHub and GitLab are exceptions to this Policy because they are subject to explicit licensing arrangements that pre-date, and thus take precedence, over this Policy.
You might've known that if you hadn't vibe-launched this while for some reason marketing it as anti-AI, but here we are in a world where basic research is a dead art.
I’d love to hear an IP lawyer weigh in on this, because I’ve never heard of this kind of thing before. It doesn’t seem correct that you can use trademark alone like this to extend beyond the actual word used in the trademark. Maybe it’s from licensing or something, ie maybe if a product uses the actual git product, then the git license means you can’t use the name as part of a word.
i will be honest and say that we didn't do our due diligence here (we simply assumed that it would be okay to do so, given the existence of GitHub, GitLab, GitKraken, GitButler, and so forth).
that portmanteaus are prohibited by the policy that the Git PLC enforces, which as Jeff notes in his email above, does grant incumbent advantages to grandfathered names (e.g., GitHub, GitLab).
we'll reach out to the conservancy, ask for explicit permission, and if not, rebrand.
Trademark law is ridiculously slanted in favour of existing rightsholders. The most famous example I know of is "McSleep Inn", which was sued by McDonalds and forced to change their name. I think that ruling was complete bullshit, because Mc is so generic and usually a prime factor of trademark law is whether the businesses operate in similar domains, but it goes to show how broad the protections can be. Something like "GitFoo", which is explicitly being used specifically on a site for hosting Git repositories, doesn't stand a chance in hell, and rightfully so because this is actually trying to take advantage of Git's name to market their product.
They might have been sued, but did they change the name just to settle out of court? McDonald’s failed to maintain the trademark on “Big Mac” in Europe when it actually went to a court room https://www.theguardian.com/business/article/2024/jun/05/big...
They did not settle, hence my usage of the wording "ruling" and "forced to change".
> For the reasons given the Court finds and concludes that (1) McDonald's is entitled to enforce its family of marks that are characterized by the combination of the prefix "Mc" with a generic word; (2) the name McSleep Inn is likely to cause an appreciable number of the public to be confused by believing that McSleep Inn is sponsored, associated, affiliated, connected, or endorsed by McDonald's; and (3) the adoption and use by Quality International of the name McSleep Inn was a deliberate attempt to benefit by the good will and reputation of McDonald's. Therefore, the Court will find trademark infringement, unfair competition, and dilution under the Illinois statute (Ill.Rev.Stat. Ch. 140, § 22).
> Git is open source/public domain. Trademarks don't apply to it.
Public domain and open source are two completely unrelated concepts. If open source were public domain, you could not license usage of it (MIT, GPL, etc.). What is the point of confidently asserting something you're completely ignorant about as though it were factual?
That’s not right. You can very much apply trademarks to open-source software. See for example Mozilla Firefox. Also, open-source and public domain are not the same thing. Finally, git is GPL.
Seems interesting an I'll take more of a peek after work, but one thing that stood out to me is the only way back to the home page after navigating to a repo is the back button. Going back to the home page via the back button also doesn't retain that "new" was selected. But I agree with others, I do like the simplicity of the site.
this hn thread is interesting as it feels like i'm getting to revisit a lot of decisions i've made in the design haha.
i debated this for a while too, some of my thinking for how it is is that i wanted the focus of a repository page to be _the repository_. so as much as we can, trim things that might detract.
it was also done with the intention that it's actually pretty rare for a user to find or explore repositories on github (more likely you find them here on hn or on twitter), so had the restraint of really trying _not_ to make gitdot anything like social media.
but thank you nonetheless for the feedback, i'll revisit it proper and see if i can make this more intuitive.
I’m not sure I agree with all of your takes either. For example, I’m not anti-AI for coding, so that immediately made me click away. I’m glad I read the comments though because I think the take of “not using your code to train AI” makes a lot more sense.
But, I wanted to say thanks for posting this and being really open in the comments. It’s hard to get so much feedback so quickly. It’s a firehouse of criticism that’s hard to deal with.
thank you mbreese, i know folks can be mean and i also recognize where they're coming from (we are certainly far from perfect), but this comment is nice to read.
I think I can understand that reasoning. I do have a tendency to explore, especially at the start since it gives me a view of what the site can already do, cause I wouldn't want to run into issues with my own projects without knowing of the possible limitations ahead of time.
If anything since the keyboard shortcut already exists, you could always put it in little cursor menu at the bottom of the screen. But yeah up to you, I look forward to your progress.
a lot of this we've really come to know as we dug into both it, gittea, gitlab, and all of their internals.
i think the short answer as to a differentiator is design.
our goal's to just build the best product possible, one that we'd love to use and one that we hope developers do too.
some of the stuff we've been thinking about include: stacked diffs as PR primitive, a Nix-based CI (that's reproducible and locally testible), a super simple and intuitive bug tracker, and just making the site super duper fast and pleasant to use.
that is to say, there is a _lot_ of surface area that a software forge covers and i think there's a lot of room to make things better.
hope that's clear enough, apologies for any ambiguities, we do NOT have all the answers quite yet haha
I'm a bit confused, aren't the Forgejo people trying to build the "best product possible", too? And there's more of them, and they have funding, and… between 2 good forges or 1 great one, I rather have 1 great one… I guess you're not interested in joining them because it's not Rust?
i think the honest answer here is autonomy. the freedom to choose our own tech stack, our own product priorities, and our own design.
i'll also admit that i don't know forgejo's own priorities as well as i do our own, and that is negligence that we're due to correct. maybe they are perfectly aligned and it does make sense for us to join forces.
but just as with any FOSS project, they have the freedom to choose what they work on as do we, and i intend on respecting that.
> We view AI as an implementation detail — and do not think that using it is necessarily good.
> In fact, we think it makes many products worse by acting as a bandaid for poor design.
> That isn’t to say we are blind to it, but that we will be judicious in our use of it instead.
Not sure I follow. What feature are the developers referring to? I understand that AI will power tools that may or may not fit a particular use case. How is AI a feature and what does it mean to be anti-AI?
yeah thanks for digging in, this was a bit ambiguous.
so take this to mean - 1) no AI copilot in the app and 2) no training on your data nor selling of it.
our take on AI is that we should focus on building tools that help address its limitations; one of the things we're particularly keen on is building stacked diffs into reviews as a primitive, so it's easier to review a large AI-generated (or assisted) PR. (e.g., diff 1 for API changes, diff 2 for backend wireup, diff 3 for front-end changes)
i think to do that, we're going to try and hook into the subscriptions that people already have and are paying for: Claude, Codex, rather than package our own, but some of that is a bit hacky to do.
AI is rapidly becoming a synonym for enshittification. It can be a little aggravating. I am trying to judiciously use terms like "agent" or "LLM" so I can avoid just lazily saying "AI", which is often a pejorative term now.
I think you're in an interesting space where there's a real opportunity to create something fresh. When people are actively looking for alternatives it will be easier to break out of the established norms.
What does anti-AI mean? Don't really see anything about it in the design doc except "no AI copilot".
but overall, the general ethos is to focus on the problems that AI is introducing as of now and how we can help solve them, rather than just build AI features with abandon assuming that they're good.
some stuff that we do know about: the influx of slop PRs / slop issues on popular repositories, losing agency our own of code as we AI generates more, and privacy/sovereignty of code.
i've talked a bit about stacked diffs which we do see as one concrete stab in that direction, but a lot here is to be admittedly sketched out.
my fixation here is to make everything load instant, but that is dependent on server latencies, which right now is admittedly slow as we only have one server in the US.
I love the design. Clean and refreshing - you start at the left and every sub element goes to the right. Like a file browser. And the commit screen is dense but super readable. I would move the summary column from the right of the README to the left of the README on the /home screen (and call /home the /README).
Loading files is very slow but I assume that's because HN is hammering the server.
I am not a believer in negative advertising. So I don't give a poop you are anti-ai. Or "better" than Github (better for who??). Just imply you are a code forge thats made for serious developers who need something engineered to be fast and reliable.
I wish you the best of luck, I can see Linear coming out with git repos after coming out with a diff reader. I have a suspicion there's space for many code forges in the market as you build out more features, especially if you lean into your products hacker-y-ness
Feels like one can just copy the UI and use it for forgejo. It would get something similar very quickly, and avoid handling all the difficult stuff I guess.
hrm. so i guess if the question is why not just make a software forge that is _only_ based in the CLI, the answer i think is convenience.
it's very convenient to be sent a link (or find it on hacker news) and to be able to click around files, read the README, understand what a repository is about without having to clone it and open locally. plus -- if you only need a barebones git server with no web UI, git provides this by default.
if the question is, will you build a CLI / what will be in it?
the answer is yes, we do have a barebones CLI for auth as of now, do envision things like managing issues / PRs from the CLI, but want to make sure that strike the right balance there.
i think TUIs can be deceptively hard to build well, and admittedly, it hasn't been a priority for us quite yet.
Yes, this particular UX is poor. It's not intuitive that clicking the filename has different behavior from clicking elsewhere in the file's row. Expanding the row inline needs a leading widget.
This particular issue is solved in GitHub proper, and derives from the Windows 95 tree view widget [1], which I seem to remember from Windows 3.x but can't find a screenshot.
The hover behavior is just not an intuitive or accessible default. I can't imagine someone being able to use this if they have a hard time clicking without moving the mouse. It also wastes resources fetching file/directory contents while the user is moving the cursor to a predetermined file they presumably wish to open.
This is really interesting. Especially as its open source and I really liked the UI design of it.
I was thinking about creating my own git forge given the unreliability of Github and I wouldn't be able to create just at the moment incredibly reliable software like git forge although I could use AI to create a minimalist piece of software, I didn't because I didn't want to create yet another AI slop fighting another AI slop (github/gitlab).
Forejo is incredible but I have always wanted to get more alternatives in this field.
Much thanks for making it. I have signed up and I have high hopes for it too and I will try to either self host this on my servers or gitdot.io as well as Github
I recommend making a small community in matrix (preferred), fluxer.gg, discord etc. as I'd like to join it.
PS: small personal thing that I have made which helps in making communities: https://mirror.forum
I am definitely interested in gitdot.io! This seems incredible
I wish nothing but the best for you folks. Gonna create a local copy of the source code of gitdot.io right now!
Thanks for open-sourcing the efforts too. I really appreciate it :-D The software is so nice!
I genuinely hope that you guys and the project blows up and if you guys might ever hire a junior dev, I hope you all could remember me as the world right now needed such software that you have made!! :-D (Although I am more interested in managing servers/golang but that's because rust is hard to learn as a beginner but that's different topic but I like rust's ideas too and rust is a great/preferred language with golang for this type of service :-D)
Thanks for the support, we really appreciate it. We want to create/support communities within the app in the future (via issues, etc) but ya it's a good idea to form some channels.
It might be a bit difficult to self-host at the moment (as we don't have a good documentation to do so) but you can try and let us know how it goes.
yeah this is because we're currently (very temporarily) hosting things in NFS and git stat operations are very slow since they assume a fast file FS. we'll fix that in a few.
and yeahhhh, i do try to be very non-marketing in all that i say, but something about the title made me a bit ambitious, apologies.
> What is a bit unique is: 1) we built it in Rust
The first unique characteristic is that it was built in Rust? Why does it matter from a user perspective? I was expecting the first point to be something that would convince me to check it out.
Unless the goal is to find people to collaborate on building the software. I got a bit confused.
Looking good regardless :)
Interesting stuff! I really like the design philosophy you're applying here, where the browser/web behaviour is actually part of the UX. Pretty rare for web application nowadays!
If I could make one suggestion, I really like the old MacOS "inspector" pattern. Basically a consistent way to get meta-information about any "thing" the user chooses to inspect. Your right sidebar is going towards that, but it would need some work to make it more consistent between views.
GitHub's UI has these weird meta-states/restrictions that are so badly explained in the UI they feel like bugs. Each line gets a [...] menu in github which lets you see the blame/spawn a issue linking to it/get a permalink/etc. It's a totally different UI in the diff view, and then totally different again if you're looking at a comment referencing a line in a diff AND different if it's referencing a permalink to a line in a file, even if it's the same code that would be in that diff!
I want the UI to have obvious "nouns". If the UI is showing me a line of code, even if it's in a diff view, let me "inspect" it and get the exact same meta-info + tools I get for lines of code anywhere. It's "a line", not a weird meta state of "a line, but you're in the comment of a PR linking to this line".
Same concept applies to comments/commits/authors/etc. If the UI shows me a username, I should be able to pull up a "who is that again" inspector. Going into github's commit view, clicking on a name... and being sent to a filtered list of that person's commits makes zero sense to me because this is the ONLY place where that happens. That behaviour should be a "recent commits" button inside some "user inspector".
thank you!
i'm not aware of the old macOS inspector pattern, but this sounds super interesting and i agree with the critique of inconsistency in github's behavior.
this reminds me a tad of superhuman's right panel too which auto-populates upon writing a time (or typing a name i believe?), which is a feature i do find personally useful as well.
i haven't thought seriously about hovers on nouns quite yet, but this is giving me much to munch on.
thank you sincerely this is dope.
Big fan of the design! Different but easy to get a hand of. Having /profile also be linked on the homepage with the other main pages for ease of navigation would be nice, the profile link at the bottom feels like it clashes with the rest of the UI to my eyes.
Love the idea of someone tackling this space in Rust, but please just make a normal UI, I have no idea what I am looking at.
I personally prefer the GitDot UI over the bloated corporate style UIs that all feel the same
Just one minor piece of feedback that's unlikely to be a priority. I cannot fully navigate when browsing in a terminal browser (chawan in my case, haven't tried with w3m or lynx). For example the "h" keymap for going home does not work.
That said though, one of my pet peeves around browsing Github Web from the terminal was having to click "skip to content" just to get the body. So you definitely delivered there (after having read your design post). Good luck with the rest of the year.
oh wow i have not thought about terminal browsers in a while (i used to use one back in the day in college haha).
yeah, that admittedly is not priority, but thanks for taking the time to check it out.
Would be interested in a comparison with https://sourcehut.org/ (which has a comparable minimal aesthetic, but also has the deep benefit of being FOSS.
Feels weird to ship a website without mobile support in this day. The desktop version looks nice though
Didn't work for me even when I chose to see the desktop site in my mobile browser :/
it is based off a minimum pixel as of now, apologies.
the overall reason why we didn't ship a mobile site is that code is inherently very hard to read on mobile
and i think to do that properly, you have to design explicitly for it. (and that is not, in fact, something that i do want to vibe code)
The minimal look feels very refreshing, and yet it's not disorienting like many minimal web git UIs are in my experience; I actually feel like I know how to navigate this thing. Site feels very snappy too, especially with those instantly loading file previews when you hover. Congrats!
thank you! of all things in this launch, i was the most anxious about the design as it is admittedly the most different.
glad to hear the positive feedback :)
It seems like the site is currently getting hugged so I can't look but I'm glad someone is trying to achieve a more minimalistic take on the UX of a software forge. It seems like an area with good room for improvement.
the hn hug is real indeed, hopefully this link is fine. a bit wordy, but goes into quite a lot of the thinking that went into the design: https://gitdot.io/designs/gitdot-designed-by-developers
This is a violation of Git's trademark, and your usage of it is expressly prohibited by their policy.
https://git-scm.com/about/trademark
> [...] you may not use any of the Marks as a syllable in a new word or as part of a portmanteau (e.g., "Gitalicious", "Gitpedia") used as a mark for a third-party product or service.
> Please be aware that GitHub and GitLab are exceptions to this Policy because they are subject to explicit licensing arrangements that pre-date, and thus take precedence, over this Policy.
You might've known that if you hadn't vibe-launched this while for some reason marketing it as anti-AI, but here we are in a world where basic research is a dead art.
I’d love to hear an IP lawyer weigh in on this, because I’ve never heard of this kind of thing before. It doesn’t seem correct that you can use trademark alone like this to extend beyond the actual word used in the trademark. Maybe it’s from licensing or something, ie maybe if a product uses the actual git product, then the git license means you can’t use the name as part of a word.
thank you both for chiming in.
i will be honest and say that we didn't do our due diligence here (we simply assumed that it would be okay to do so, given the existence of GitHub, GitLab, GitKraken, GitButler, and so forth).
it does look like from digging in: https://public-inbox.org/git/20170202022655.2jwvudhvo4hmueaw...
that portmanteaus are prohibited by the policy that the Git PLC enforces, which as Jeff notes in his email above, does grant incumbent advantages to grandfathered names (e.g., GitHub, GitLab).
we'll reach out to the conservancy, ask for explicit permission, and if not, rebrand.
Trademark law is ridiculously slanted in favour of existing rightsholders. The most famous example I know of is "McSleep Inn", which was sued by McDonalds and forced to change their name. I think that ruling was complete bullshit, because Mc is so generic and usually a prime factor of trademark law is whether the businesses operate in similar domains, but it goes to show how broad the protections can be. Something like "GitFoo", which is explicitly being used specifically on a site for hosting Git repositories, doesn't stand a chance in hell, and rightfully so because this is actually trying to take advantage of Git's name to market their product.
They might have been sued, but did they change the name just to settle out of court? McDonald’s failed to maintain the trademark on “Big Mac” in Europe when it actually went to a court room https://www.theguardian.com/business/article/2024/jun/05/big...
They did not settle, hence my usage of the wording "ruling" and "forced to change".
> For the reasons given the Court finds and concludes that (1) McDonald's is entitled to enforce its family of marks that are characterized by the combination of the prefix "Mc" with a generic word; (2) the name McSleep Inn is likely to cause an appreciable number of the public to be confused by believing that McSleep Inn is sponsored, associated, affiliated, connected, or endorsed by McDonald's; and (3) the adoption and use by Quality International of the name McSleep Inn was a deliberate attempt to benefit by the good will and reputation of McDonald's. Therefore, the Court will find trademark infringement, unfair competition, and dilution under the Illinois statute (Ill.Rev.Stat. Ch. 140, § 22).
https://law.justia.com/cases/federal/district-courts/FSupp/6...
I suppose it's not surprising that Europe is less favorable to frivolous trademark claims made by American corporations than America is.
Git is open source/public domain. Trademarks don't apply to it.
> Git is open source/public domain. Trademarks don't apply to it.
Public domain and open source are two completely unrelated concepts. If open source were public domain, you could not license usage of it (MIT, GPL, etc.). What is the point of confidently asserting something you're completely ignorant about as though it were factual?
That’s not right. You can very much apply trademarks to open-source software. See for example Mozilla Firefox. Also, open-source and public domain are not the same thing. Finally, git is GPL.
I mean OK, valid, and they really should get on it.
But you are squinting really hard if you equate "programmers not being good lawyers" with "they obviously vibe-launched the product".
I like the terminal aesthetics but please, for accessibility's sake, make input boxes look more like input boxes and buttons look like buttons.
thank you for the feedback, yeah i've been going and trimming a few places where i think my own tendencies have gone a bit too far.
i will also say on accessibility, i recognize the site is a bit too small font in general — and will fix it soon.
Generally probably shouldn’t try to innovate in too many places at once
we are well aware and duly noted. thank you for the feedback
It is ... problematic ... to lead with "anti-AI" and then bury terms like "judicious in our use of it" in the fine print.
IMO a team like yours can either:
* Use LLMs, in which case you aren't "anti-AI".
* Not use LLMs currently, but the non-use is not due to following a principle, in which case you aren't "anti-AI".
* Not use LLMs and promise never to do so.
I'm happy you are trying something new. But you hurt yourself by engaging in something very old: disingenuity.
(edits for presentation and grammar)
I've taken that bit out of the title for the time being, since it was causing confusion.
yeah this has been pointed out a few times, will revise the copytext later but will keep it up for the duration of the post.
hope our sentiment is clearer in the comments that i've made, i think i've made the mistake of phrasing here with the "anti", i'll revisit it.
edit: dang has removed it, apologies for the confusion i caused, that was my mistake.
Seems interesting an I'll take more of a peek after work, but one thing that stood out to me is the only way back to the home page after navigating to a repo is the back button. Going back to the home page via the back button also doesn't retain that "new" was selected. But I agree with others, I do like the simplicity of the site.
this hn thread is interesting as it feels like i'm getting to revisit a lot of decisions i've made in the design haha.
i debated this for a while too, some of my thinking for how it is is that i wanted the focus of a repository page to be _the repository_. so as much as we can, trim things that might detract.
it was also done with the intention that it's actually pretty rare for a user to find or explore repositories on github (more likely you find them here on hn or on twitter), so had the restraint of really trying _not_ to make gitdot anything like social media.
but thank you nonetheless for the feedback, i'll revisit it proper and see if i can make this more intuitive.
I’m not sure I agree with all of your takes either. For example, I’m not anti-AI for coding, so that immediately made me click away. I’m glad I read the comments though because I think the take of “not using your code to train AI” makes a lot more sense.
But, I wanted to say thanks for posting this and being really open in the comments. It’s hard to get so much feedback so quickly. It’s a firehouse of criticism that’s hard to deal with.
You’re handling it well.
thank you mbreese, i know folks can be mean and i also recognize where they're coming from (we are certainly far from perfect), but this comment is nice to read.
thank you for the empathy.
I think I can understand that reasoning. I do have a tendency to explore, especially at the start since it gives me a view of what the site can already do, cause I wouldn't want to run into issues with my own projects without knowing of the possible limitations ahead of time.
If anything since the keyboard shortcut already exists, you could always put it in little cursor menu at the bottom of the screen. But yeah up to you, I look forward to your progress.
you can press "h" to go back to homepage :)
What's the differentiation against Forgejo going to be?
forgejo is a pretty great piece of software.
a lot of this we've really come to know as we dug into both it, gittea, gitlab, and all of their internals.
i think the short answer as to a differentiator is design. our goal's to just build the best product possible, one that we'd love to use and one that we hope developers do too.
some of the stuff we've been thinking about include: stacked diffs as PR primitive, a Nix-based CI (that's reproducible and locally testible), a super simple and intuitive bug tracker, and just making the site super duper fast and pleasant to use.
that is to say, there is a _lot_ of surface area that a software forge covers and i think there's a lot of room to make things better.
hope that's clear enough, apologies for any ambiguities, we do NOT have all the answers quite yet haha
I'm a bit confused, aren't the Forgejo people trying to build the "best product possible", too? And there's more of them, and they have funding, and… between 2 good forges or 1 great one, I rather have 1 great one… I guess you're not interested in joining them because it's not Rust?
thank you both for asking.
i think the honest answer here is autonomy. the freedom to choose our own tech stack, our own product priorities, and our own design.
i'll also admit that i don't know forgejo's own priorities as well as i do our own, and that is negligence that we're due to correct. maybe they are perfectly aligned and it does make sense for us to join forces.
but just as with any FOSS project, they have the freedom to choose what they work on as do we, and i intend on respecting that.
> i think there's a lot of room to make things better
I think the question is why not try to make the other FOSS forges better instead of reinventing the wheel.
> 5. What features will gitdot not have?
> AI.
> We view AI as an implementation detail — and do not think that using it is necessarily good.
> In fact, we think it makes many products worse by acting as a bandaid for poor design.
> That isn’t to say we are blind to it, but that we will be judicious in our use of it instead.
Not sure I follow. What feature are the developers referring to? I understand that AI will power tools that may or may not fit a particular use case. How is AI a feature and what does it mean to be anti-AI?
yeah thanks for digging in, this was a bit ambiguous.
so take this to mean - 1) no AI copilot in the app and 2) no training on your data nor selling of it.
our take on AI is that we should focus on building tools that help address its limitations; one of the things we're particularly keen on is building stacked diffs into reviews as a primitive, so it's easier to review a large AI-generated (or assisted) PR. (e.g., diff 1 for API changes, diff 2 for backend wireup, diff 3 for front-end changes)
i think to do that, we're going to try and hook into the subscriptions that people already have and are paying for: Claude, Codex, rather than package our own, but some of that is a bit hacky to do.
hope that's clearer and thank you for asking
I'm honestly lost for words over how you can write something like this while the web app's source code is clearly heavily integrated with Claude Code.
https://gitdot.io/bkdevs/gitdot/files
That's not really anti-AI. Anti-AI would mean avoiding it as a value regardless of practicality.
That sounds more like anti-enshittification.
AI is rapidly becoming a synonym for enshittification. It can be a little aggravating. I am trying to judiciously use terms like "agent" or "LLM" so I can avoid just lazily saying "AI", which is often a pejorative term now.
I think you're in an interesting space where there's a real opportunity to create something fresh. When people are actively looking for alternatives it will be easier to break out of the established norms.
What does anti-AI mean? Don't really see anything about it in the design doc except "no AI copilot".
thank you kiro! (i feel you may be slightly miffed about the AWS IDE taking your name haha)
i replied in a separate comment: https://news.ycombinator.com/item?id=48452052 but to reiterate: 1) no AI copilot and 2) no training or selling of your data.
but overall, the general ethos is to focus on the problems that AI is introducing as of now and how we can help solve them, rather than just build AI features with abandon assuming that they're good.
some stuff that we do know about: the influx of slop PRs / slop issues on popular repositories, losing agency our own of code as we AI generates more, and privacy/sovereignty of code.
i've talked a bit about stacked diffs which we do see as one concrete stab in that direction, but a lot here is to be admittedly sketched out.
A lot of fuss that needs to be chiseled out first. There's an idiom that is followed a bit too black and white, but the grey is grey.
No loading animation, but my screen jitters while loading in stuff. My internet speed is fine, so it's a performance/bug issue.
I also did not initially understand the UI, but that'll come as I use it more
yeah the site isn't perfect.
my fixation here is to make everything load instant, but that is dependent on server latencies, which right now is admittedly slow as we only have one server in the US.
but thank you for giving it a shot nonetheless!
The title said “Open-source, anti-AI, written in Rust” up until a few minutes ago. Why was “anti-AI” removed?
I love the design. Clean and refreshing - you start at the left and every sub element goes to the right. Like a file browser. And the commit screen is dense but super readable. I would move the summary column from the right of the README to the left of the README on the /home screen (and call /home the /README).
Loading files is very slow but I assume that's because HN is hammering the server.
I am not a believer in negative advertising. So I don't give a poop you are anti-ai. Or "better" than Github (better for who??). Just imply you are a code forge thats made for serious developers who need something engineered to be fast and reliable.
I wish you the best of luck, I can see Linear coming out with git repos after coming out with a diff reader. I have a suspicion there's space for many code forges in the market as you build out more features, especially if you lean into your products hacker-y-ness
I mean, no offence but nothing is more of a signal of marketing fluff to me than saying “built in Rust” or “anti-AI”
Tell us why we should care outside of the marketing fluff - these aren’t highlights - if anything they are quite off putting.
Your project needs to stand on its own actual merits.
Critique over, congratulations on launching something or building something anyway.
But what makes this different? And why have you chosen that philosophy - outside of marketing fluff
> anti-AI
> mobile support to come
Cmon lol. Give opus 20min and it will give you a mobile site throw in a better-looking desktop site for fun.
I absolutely love the minimalist UI.
I see code reviews is in the roadmap, I can't wait to try it.
Feels like one can just copy the UI and use it for forgejo. It would get something similar very quickly, and avoid handling all the difficult stuff I guess.
There is a dozen CLAUDE.md in the gitdot source. The "Anti-AI" in your title seems a bit disingenuous.
> Mobile support to come.
In 2026 not being mobile first is a bit of a disappointment to be honest
Why does it have to be a website? Why merely "CLI-inspired" and not actually CLIs?
hrm. so i guess if the question is why not just make a software forge that is _only_ based in the CLI, the answer i think is convenience.
it's very convenient to be sent a link (or find it on hacker news) and to be able to click around files, read the README, understand what a repository is about without having to clone it and open locally. plus -- if you only need a barebones git server with no web UI, git provides this by default.
if the question is, will you build a CLI / what will be in it? the answer is yes, we do have a barebones CLI for auth as of now, do envision things like managing issues / PRs from the CLI, but want to make sure that strike the right balance there.
i think TUIs can be deceptively hard to build well, and admittedly, it hasn't been a priority for us quite yet.
Removes a barrier of entry if you can look at it from a browser instead of installing a CLI/TUI.
Don't try to make me install a random program if I can view it in my sandboxed browser safely.
Also, browsers have greasemonkey to help me personalize websites easily. TUIs don't.
the design looks neat. + for hexagonal pattern on the backend - that fits perfectly!
thanks!
I hate that when we scroll through a codebase files, it changes the file we are hovering, I'd rather having to click to see the file
Yes, this particular UX is poor. It's not intuitive that clicking the filename has different behavior from clicking elsewhere in the file's row. Expanding the row inline needs a leading widget.
This particular issue is solved in GitHub proper, and derives from the Windows 95 tree view widget [1], which I seem to remember from Windows 3.x but can't find a screenshot.
The hover behavior is just not an intuitive or accessible default. I can't imagine someone being able to use this if they have a hard time clicking without moving the mouse. It also wastes resources fetching file/directory contents while the user is moving the cursor to a predetermined file they presumably wish to open.
[1]: https://learn.microsoft.com/en-us/windows/win32/winauto/syst...
thank you both for the feedback, i'm revisiting it now and i do see what the both of you are illustrating.
i think i will get rid of the change on hover, it is a distraction and perhaps was just my ambition to show people how fast we load.
edit: fixed
If you click the file row (not the filename as that will navigate to file page), then hovering over other files won't change the preview.
This is really interesting. Especially as its open source and I really liked the UI design of it.
I was thinking about creating my own git forge given the unreliability of Github and I wouldn't be able to create just at the moment incredibly reliable software like git forge although I could use AI to create a minimalist piece of software, I didn't because I didn't want to create yet another AI slop fighting another AI slop (github/gitlab).
Forejo is incredible but I have always wanted to get more alternatives in this field.
Much thanks for making it. I have signed up and I have high hopes for it too and I will try to either self host this on my servers or gitdot.io as well as Github
I recommend making a small community in matrix (preferred), fluxer.gg, discord etc. as I'd like to join it.
PS: small personal thing that I have made which helps in making communities: https://mirror.forum
I am definitely interested in gitdot.io! This seems incredible
I wish nothing but the best for you folks. Gonna create a local copy of the source code of gitdot.io right now!
Thanks for open-sourcing the efforts too. I really appreciate it :-D The software is so nice!
I genuinely hope that you guys and the project blows up and if you guys might ever hire a junior dev, I hope you all could remember me as the world right now needed such software that you have made!! :-D (Although I am more interested in managing servers/golang but that's because rust is hard to learn as a beginner but that's different topic but I like rust's ideas too and rust is a great/preferred language with golang for this type of service :-D)
Thanks for the support, we really appreciate it. We want to create/support communities within the app in the future (via issues, etc) but ya it's a good idea to form some channels.
It might be a bit difficult to self-host at the moment (as we don't have a good documentation to do so) but you can try and let us know how it goes.
Maybe it’s the HN effect but /files takes a while to load.
Personally while I appreciate something not being AI slop, writing something in Rust has no meaning to me.
yeah this is because we're currently (very temporarily) hosting things in NFS and git stat operations are very slow since they assume a fast file FS. we'll fix that in a few.
and yeahhhh, i do try to be very non-marketing in all that i say, but something about the title made me a bit ambitious, apologies.