# First steps with zig 0.17

**URL:** <https://ziggit.dev/t/first-steps-with-zig-0-17/18167>\
**Category:** Explain\
**Tags:** c\
**Created:** [November 1, 2026, 1:54am UTC](https://ziggit.dev/t/first-steps-with-zig-0-17/18167 "2026-11-01T01:54:08Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![carltonforge](https://ziggit.dev/letter_avatar_proxy/v4/letter/c/bc8723/32.png) [@carltonforge](https://ziggit.dev/u/carltonforge)\
**Post date:** [November 1, 2026, 1:54am UTC](https://ziggit.dev/t/first-steps-with-zig-0-17/18167/1 "2026-11-01T01:54:08Z")

</div>

I’ve started learning Zig and decided to try my first vulkan triangle.

I have too many ideas and told myself let’s just find a hello world triangle and build on top but I couldn’t get anything I found to compile for 0.17 😆 so I thought why not just do it myself?

I’m working towards learning systems programming, Vulkan and GPU compute, so I’m starting with the fundamentals and building from there.

Still very early in the journey, but looking forward to learning the language and getting involved in the community.  
Any tips for someone starting with Zig 0.17 are welcome!

You can check out the repo here.

> **[GitHub - CarltonForge/zig0.17VulkanTriangle: A foundational graphics...](https://github.com/CarltonForge/zig0.17VulkanTriangle/tree/main)**
>
> A foundational graphics rendering project built using Zig 0.17, Vulkan and SDL3, using the native Vulkan C API through Zig's C interoperability. - CarltonForge/zig0.17VulkanTriangle

---

<div class="post-metadata">

**Author:** ![truly-not-taken](https://ziggit.dev/user_avatar/ziggit.dev/truly-not-taken/32/6205_2.png) [@truly-not-taken](https://ziggit.dev/u/truly-not-taken)\
**Post date:** [November 1, 2026, 2:21am UTC](https://ziggit.dev/t/first-steps-with-zig-0-17/18167/2 "2026-11-01T02:21:34Z")

</div>

I do not think you want to commit `.zig-cache`, `zig-out` and `zig-pkg` into repo.

---

<div class="post-metadata">

**Author:** ![kracked](https://ziggit.dev/letter_avatar_proxy/v4/letter/k/e8c25b/32.png) [@kracked](https://ziggit.dev/u/kracked)\
**Post date:** [November 1, 2026, 5:27am UTC](https://ziggit.dev/t/first-steps-with-zig-0-17/18167/3 "2026-11-01T05:27:29Z")

</div>

I mean `zig-pkg` could work as a vendoring idea though does it not?  
I do agree for `.zig-cache` and `zig-out` as they don’t belong on git.

---

<div class="post-metadata">

**Author:** ![Solarflurry](https://ziggit.dev/user_avatar/ziggit.dev/solarflurry/32/10229_2.png) [@Solarflurry](https://ziggit.dev/u/Solarflurry)\
**Post date:** [November 1, 2026, 6:16am UTC](https://ziggit.dev/t/first-steps-with-zig-0-17/18167/4 "2026-11-01T06:16:22Z")

</div>

I’m pretty sure zig puts the commit hashes in the `build.zig.zon` anyways, and will fetch it automatically

---

<div class="post-metadata">

**Author:** ![carltonforge](https://ziggit.dev/letter_avatar_proxy/v4/letter/c/bc8723/32.png) [@carltonforge](https://ziggit.dev/u/carltonforge)\
**Post date:** [November 1, 2026, 10:14am UTC](https://ziggit.dev/t/first-steps-with-zig-0-17/18167/5 "2026-11-01T10:14:04Z")

</div>

What’s the reason?

---

<div class="post-metadata">

**Author:** ![pzittlau](https://ziggit.dev/letter_avatar_proxy/v4/letter/p/ecae2f/32.png) [@pzittlau](https://ziggit.dev/u/pzittlau)\
**Post date:** [November 1, 2026, 10:30am UTC](https://ziggit.dev/t/first-steps-with-zig-0-17/18167/6 "2026-11-01T10:30:07Z")

</div>

`.zig-cache` and `zig-out` will be generated by the compiler, depend only on your source code and are mostly binary files. Also `.zig-cache` can grow quite large(especially since garbage collection isn’t implemented yet afaik).

`zig-pkg` is for third party dependencies. You can either commit it such that you can always work on your project if you can clone the repo. Or you don’t commit it which reduces the size of the repo but makes it possible that you can’t compile the project if for instance Github is down again.

---

<div class="post-metadata">

**Author:** ![carltonforge](https://ziggit.dev/letter_avatar_proxy/v4/letter/c/bc8723/32.png) [@carltonforge](https://ziggit.dev/u/carltonforge)\
**Post date:** [November 1, 2026, 10:39am UTC](https://ziggit.dev/t/first-steps-with-zig-0-17/18167/7 "2026-11-01T10:39:24Z")

</div>

Okay I see.. Yeah I literally put it together and wanted it to be cloned and working without any configuration gymnastics so someone like me could clone it and jump straight into whatever they needed to do.
