# Documentation is the weak point of Zig – this problem must be solved

**URL:** <https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112>\
**Category:** Brainstorming\
**Tags:** language, standard-library\
**Created:** [January 29, 2026, 11:32am UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112 "2026-01-29T11:32:33Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![fdik](https://ziggit.dev/user_avatar/ziggit.dev/fdik/32/7517_2.png) [@fdik](https://ziggit.dev/u/fdik)\
**Post date:** [January 29, 2026, 11:32am UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/1 "2026-01-29T11:32:33Z")

</div>

Since only a short time I test the Zig ecosystem. I’m a beginner here, while not being a rookie in software development otherwise. I started programming in 1982, did my first architecture of a complex software project in 1992. Before Zig I used ~15 different languages in projects, the last one being Rust.

Zig could be my favourite language for low-level programming. I could imagine to completely move away from C and C++ to Zig instead of to Rust. Zig is a piece of art.

But there is a blocker: the lack of specification and documentation.

I’m used to read documentation first. Then try out. Report bugs, which mean that the implementation does not comply to the specification. I struggle with Zig in this point.

Therefore, I suggest a project: Community Documentation. Let’s set up a Wiki for the community to fill the gap. Let’s have a Wiki to keep this up to date and centralized. And let’s have the rich text format of the Wiki the same as the one used for the official documentation, so texts can be re-used by the core team accepting them. Best would be a git based wiki engine, so even a PR could be created for the acceptance process.

Is there support here in the community for this idea? Shell I just set up such a Wiki and ask people to use it? How do core team members see this topic? Is this something wanted or less wanted?

I would appreciate feed back from all sides.

---

<div class="post-metadata">

**Author:** ![vulpesx](https://ziggit.dev/user_avatar/ziggit.dev/vulpesx/32/3989_2.png) [@vulpesx](https://ziggit.dev/u/vulpesx)\
**Post date:** [January 29, 2026, 11:56am UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/2 "2026-01-29T11:56:30Z")

</div>

ziggit has a dedicated topic for community docs! [Docs](https://ziggit.dev/docs)

I think it could be made more obvious, though it is near the top of the sidebar. TBH I haven’t really used it, so I can’t speak to its quality, what little I have seen is good!

It probably does need more people using it so we can be notified of out of date sections sooner.

> only `Regular` users can make new doc posts, but almost all users (excluding very new users) can edit existing ones, so updating them is accessible.

this is a good reminder that it exists, ya’ll should be linking to them, updating them and proposing new posts _occasionally_.

---

<div class="post-metadata">

**Author:** ![fdik](https://ziggit.dev/user_avatar/ziggit.dev/fdik/32/7517_2.png) [@fdik](https://ziggit.dev/u/fdik)\
**Post date:** [January 29, 2026, 12:06pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/3 "2026-01-29T12:06:58Z")

</div>

Nice!

Is this meant to fulfill the mentioned purpose? Is this how documentation can be added by the community? Is there a process how this moves into the standard documentation? If all of this is already answered, where can I find information about this?

---

<div class="post-metadata">

**Author:** ![fdik](https://ziggit.dev/user_avatar/ziggit.dev/fdik/32/7517_2.png) [@fdik](https://ziggit.dev/u/fdik)\
**Post date:** [January 29, 2026, 12:10pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/4 "2026-01-29T12:10:15Z")

</div>

Can we ask the core team to link the docs section here from the Zig homepage? Is there any cooperation already?

---

<div class="post-metadata">

**Author:** ![vulpesx](https://ziggit.dev/user_avatar/ziggit.dev/vulpesx/32/3989_2.png) [@vulpesx](https://ziggit.dev/u/vulpesx)\
**Post date:** [January 29, 2026, 12:15pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/5 "2026-01-29T12:15:32Z")

</div>

_It is just community documentation_. It is not in the same format official docs use, and it probably will _not_ be integrated with official docs.

Documentation is just not a focus for zig at the moment, the language and `std` library (in particular rn) are in flux. And there are many things still _planned_ to be explored, 1.0 will not happen until they are.

As they slow down, the docs should catch up and increase in quality.

> [@fdik](#):
>
> Can we ask the core team to link the docs section here from the Zig homepage? Is there any cooperation already?

ziggit is linked already, I don’t see why they would link to our docs specifically, but perhaps a mention that we do have some would be good.

No zig communities are official, we all do our own thing, but IME you will find more core team members here (including Andrew) than other communities.  
excluding the zulip, that’s not so much a community. But the platform of official choice for organising zig development.

---

<div class="post-metadata">

**Author:** ![fdik](https://ziggit.dev/user_avatar/ziggit.dev/fdik/32/7517_2.png) [@fdik](https://ziggit.dev/u/fdik)\
**Post date:** [January 29, 2026, 12:27pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/6 "2026-01-29T12:27:14Z")

</div>

Thank you for these insights!

I’m asking because possibly I’m a typical new user: I’m coming from somewhere else, I feel Rust like a corset or a cage, and I’m still searching for “but how can I avoid C++” – in my case since 1995 😉

Zig is my chance to escape to a language, which supports me as a programmer. This makes me willing to give some support back. And so I can imagine could it be for other community members, too.

The alternative is, of course, how can I join Zig development so I can edit the official documentation and make suggestions / pull requests.

Zig is comparable old now for a project, which is not meant to be used in real-world projects. And in such real-world projects there are conditions needed, which lead to investment security when pushing workload into software based on Zig.

Do you see a path to a solution?

---

<div class="post-metadata">

**Author:** ![vulpesx](https://ziggit.dev/user_avatar/ziggit.dev/vulpesx/32/3989_2.png) [@vulpesx](https://ziggit.dev/u/vulpesx)\
**Post date:** [January 29, 2026, 12:41pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/7 "2026-01-29T12:41:01Z")

</div>

> [@fdik](#):
>
> The alternative is, of course, how can I join Zig development so I can edit the official documentation and make suggestions / pull requests.

just make prs on [Zig Software Foundation - Codeberg.org](http://codeberg.org/ziglang/)  
they will ofc prioritise other things over docs, but if you show you know what your talking about I think they’ll accept them without much hassle. But that is much to ask of someone new to zig as you say.

> I think the website is still on github due to technical issues. That is where the other docs are (excluding langref and std)

> [@fdik](#):
>
> Zig is comparable old now for a project, which is not meant to be used in real-world projects.

as much as andrew says that, there are quite a few that do use zig, mostly existing c projects using it as a build system, but the zig only/mostly codebases are rather popular.

But programming languages are **big** projects that take a lot of time, zig is still younger than rust was when it had its 1.0. But rust was rushed to get there by investors and is still undergoing active language development, though it is slow due to post 1.0 stability requirements.

I don’t think zig will hit 1.0 younger than rust did, probably will be at least a few years older.

---

<div class="post-metadata">

**Author:** ![fdik](https://ziggit.dev/user_avatar/ziggit.dev/fdik/32/7517_2.png) [@fdik](https://ziggit.dev/u/fdik)\
**Post date:** [January 29, 2026, 12:51pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/8 "2026-01-29T12:51:15Z")

</div>

I hope you can forgive me my baseless optimism 😉 But I still hope we get Zig into a professional state before many years did pass.

My question remains: how can I help? While not having this it will be hard to use Zig in professional projects.

---

<div class="post-metadata">

**Author:** ![alanza](https://ziggit.dev/user_avatar/ziggit.dev/alanza/32/6006_2.png) [@alanza](https://ziggit.dev/u/alanza)\
**Post date:** [January 29, 2026, 3:28pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/9 "2026-01-29T15:28:18Z")

</div>

imo, one area where Zig is lacking is not exactly _documentation_ but _learning resources_. as a beginner, you have a unique perspective to bring to that problem. as you learn, you might consider making resources like tutorials or blog posts to help explain things that were particularly difficult for you to learn.

---

<div class="post-metadata">

**Author:** ![kitajusSus](https://ziggit.dev/user_avatar/ziggit.dev/kitajussus/32/4169_2.png) [@kitajusSus](https://ziggit.dev/u/kitajusSus)\
**Post date:** [January 29, 2026, 3:36pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/10 "2026-01-29T15:36:33Z")

</div>

Good documentation could be nice learning resource.

---

<div class="post-metadata">

**Author:** ![nurpax](https://ziggit.dev/user_avatar/ziggit.dev/nurpax/32/1217_2.png) [@nurpax](https://ziggit.dev/u/nurpax)\
**Post date:** [January 29, 2026, 3:39pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/11 "2026-01-29T15:39:43Z")

</div>

Personally I’d benefit a lot more from some sort of fixed set of complete and building “recipes” like:

- how to read a file line by line
- how to read JSON (something slightly more complex, like an array object objects)
- a few build.zig examples on how to do certain common things
- how to read command line arguments

I think there’s a wealth of this information even here on Ziggit and certainly on the internet, but it’s not centralized into the official docs and kept up to date. The set of examples would be small enough so that it’d be possible to keep up to date when Zig dev breaks it. I feel like there could be much value to be gained from focusing community efforts on one common section like this.

I aware of the Docs section here on Ziggit, but whenever I encounter some problem, I rarely find a solution from this section. I find clear, working code examples an easier way to get started on problem solving.

I realize that it’d probably suck if this would be part of the compiler team’s CI quality gates. But maybe the community could rally into to help and keep this updated for every Zig release.

---

<div class="post-metadata">

**Author:** ![alanza](https://ziggit.dev/user_avatar/ziggit.dev/alanza/32/6006_2.png) [@alanza](https://ziggit.dev/u/alanza)\
**Post date:** [January 29, 2026, 3:47pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/12 "2026-01-29T15:47:07Z")

</div>

certainly! the _good, existing_ documentation and unexpectedly legible code was sufficient for me, but is clearly not for everyone 🙂

---

<div class="post-metadata">

**Author:** ![fdik](https://ziggit.dev/user_avatar/ziggit.dev/fdik/32/7517_2.png) [@fdik](https://ziggit.dev/u/fdik)\
**Post date:** [January 29, 2026, 3:55pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/13 "2026-01-29T15:55:00Z")

</div>

Does anyone know in which format the standard documentation is written?

---

<div class="post-metadata">

**Author:** ![Sze](https://ziggit.dev/user_avatar/ziggit.dev/sze/32/496_2.png) [@Sze](https://ziggit.dev/u/Sze)\
**Post date:** [January 29, 2026, 4:43pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/14 "2026-01-29T16:43:58Z")

</div>

> [@Where is the doc source for the Zig language reference doc?](https://ziggit.dev/t/where-is-the-doc-source-for-the-zig-language-reference-doc/7609/6):
>
> langref.html.in is the (handwritten) source. I’ll take that as a compliment wink

---

<div class="post-metadata">

**Author:** ![samuel-fiedler](https://ziggit.dev/user_avatar/ziggit.dev/samuel-fiedler/32/2801_2.png) [@samuel-fiedler](https://ziggit.dev/u/samuel-fiedler)\
**Post date:** [January 29, 2026, 4:44pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/15 "2026-01-29T16:44:26Z")

</div>

The standard library documentation uses doc comments formatted in Markdown.

The language reference (langref.html) follows a custom format (see [ziglang/docgen: A tool for generating auto-tested documentation. - Codeberg.org](https://codeberg.org/ziglang/docgen) ).

---

<div class="post-metadata">

**Author:** ![nmcb1](https://ziggit.dev/user_avatar/ziggit.dev/nmcb1/32/7123_2.png) [@nmcb1](https://ziggit.dev/u/nmcb1)\
**Post date:** [January 29, 2026, 4:48pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/16 "2026-01-29T16:48:53Z")

</div>

> **[Zig Cookbook](https://cookbook.ziglang.cc/)**

Could this be what you’re looking for?

---

<div class="post-metadata">

**Author:** ![Sze](https://ziggit.dev/user_avatar/ziggit.dev/sze/32/496_2.png) [@Sze](https://ziggit.dev/u/Sze)\
**Post date:** [January 29, 2026, 4:56pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/17 "2026-01-29T16:56:20Z")

</div>

> [@Zig Learning Resources](https://ziggit.dev/t/zig-learning-resources/3160):
>
> Zig is still a relatively young programming language and yet to reach a 1.0 release. This is why it’s rapidly evolving and breaking changes between releases are expected. This makes it a hard moving target when trying to develop and maintain learning resources about the language and its ecosystem. Nevertheless, there are already some very good resources available and we invite the community to add their own and help keep this list up-to-date. The list is not in any particular order to make it ea…

---

<div class="post-metadata">

**Author:** ![nurpax](https://ziggit.dev/user_avatar/ziggit.dev/nurpax/32/1217_2.png) [@nurpax](https://ziggit.dev/u/nurpax)\
**Post date:** [January 29, 2026, 5:03pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/18 "2026-01-29T17:03:29Z")

</div>

The content looks like the sort of thing I often look for. But discovery is the problem if it’s not _in_ the Zig docs. Somehow I feel like it should be possible to get the community to rally around some single official docs section instead of the current fragmented reality.

---

<div class="post-metadata">

**Author:** ![nmcb1](https://ziggit.dev/user_avatar/ziggit.dev/nmcb1/32/7123_2.png) [@nmcb1](https://ziggit.dev/u/nmcb1)\
**Post date:** [January 29, 2026, 5:45pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/19 "2026-01-29T17:45:49Z")

</div>

I was looking at [rust’s equivalent](https://rust-lang.org/learn/) “Learn” section on their website. Would you consider this something adequate?

---

<div class="post-metadata">

**Author:** ![b33j0r](https://ziggit.dev/user_avatar/ziggit.dev/b33j0r/32/3346_2.png) [@b33j0r](https://ziggit.dev/u/b33j0r)\
**Post date:** [January 29, 2026, 5:50pm UTC](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112/20 "2026-01-29T17:50:55Z")

</div>

As someone who compiles zig from source, I’d really like it if the language reference and `zig std` were unified. Running `zig build docs` in the source tree builds the language docs, but then you have two different ways to look at the language and the standard library docs, with one being much more convenient (`zig std` stands up an http server).

It makes sense to me that the docs aren’t in a perfect state right now, because 0.16 and `std.Io` are a huge changeset with many decisions still being made. I just want an easier way to get it all in its latest form on a little http server, ideally.

[Next page](https://ziggit.dev/t/documentation-is-the-weak-point-of-zig-this-problem-must-be-solved/14112.md?page=2)
