Repository: zouyee/zig-learning Branch: main Commit: b36ba3431294 Files: 14 Total size: 51.4 KB Directory structure: gitextract_jth6leym/ ├── .github/ │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── main.yml │ └── pr.yml ├── .gitignore ├── .markdown-link-check-config.json ├── .markdownlint.json ├── .opencode/ │ └── skills/ │ ├── auto-maintenance/ │ │ └── SKILL.md │ ├── content-management/ │ │ └── SKILL.md │ └── readme-updater/ │ └── SKILL.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── MAINTAINERS.md ├── README.md └── package.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .github/PULL_REQUEST_TEMPLATE.md ================================================ ================================================ FILE: .github/workflows/main.yml ================================================ on: [push] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: DavidAnson/markdownlint-cli2-action@v16 with: globs: | *.md #MAINTAINERS.md check_links: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - name: Install dependencies run: npm ci - name: Check links run: npx markdown-link-check -c .markdown-link-check-config.json README.md ================================================ FILE: .github/workflows/pr.yml ================================================ on: [pull_request] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v3 with: node-version: 19 - name: Lint markdown run: npx markdownlint-cli2 "*.md" "#MAINTAINERS.md" ================================================ FILE: .gitignore ================================================ node_modules/ ================================================ FILE: .markdown-link-check-config.json ================================================ { "timeout": "20s", "retryOn429": true, "retryCount": 3, "fallbackRetryDelay": "5s", "ignorePatterns": [ { "pattern": "^https://github.com" }, { "pattern": "^https://www.google.com" }, { "pattern": "^https://www.amazon.com" }, { "pattern": "^https://www.manning.com" }, { "pattern": "^https://web.archive.org" }, { "pattern": "^#" }, { "pattern": "^https://(medium\\.com|.*\\.medium\\.com)" }, { "pattern": "^https://www.reddit.com" }, { "pattern": "^https://www.indeed.com" }, { "pattern": "^https://open.spotify.com" }, { "pattern": "^https://.*\\.substack\\.com" }, { "pattern": "^https://www.aolium.com" }, { "pattern": "^https://podscan.fm" }, { "pattern": "^https://www.youtube.com" }, { "pattern": "^https://www.openmymind.net" }, { "pattern": "^https://cherel.dev" }, { "pattern": "^https://cernockyd.com" }, { "pattern": "^https://www.huy.rocks" } ] } ================================================ FILE: .markdownlint.json ================================================ { "default": true, "line-length": false, "no-space-in-links": false, "no-inline-html": false } ================================================ FILE: .opencode/skills/auto-maintenance/SKILL.md ================================================ --- name: auto-maintenance description: "Automated maintenance for zig-learning repository. Triggers: 'maintain', 'check links', 'update resources', 'verify content', 'cleanup'" --- # Auto-Maintenance — zig-learning Repository You are an automated maintenance specialist for the zig-learning project. Your core responsibility is to keep the repository healthy, current, and free of dead links or outdated content. You do NOT modify learning resources content directly — you only assess, report, and flag issues for human review. ## CAPABILITIES | Tool | When to Use | |------|-------------| | `bash` | Run npm/node commands for link checking, linting | | `grep` / `glob` | Find markdown files, search for patterns | | `webfetch` | Verify external links are still accessible | | `read` | Review existing README structure | | `edit` | Fix minor formatting issues ONLY | | `lsp_diagnostics` | Check for any LSP-related issues | ## WORKFLOW ### PHASE 1: DISCOVERY 1. Identify all markdown files in the repository: ```bash find . -name "*.md" -type f ``` 2. Read the current README.md to understand the table of contents structure: ```bash head -100 README.md ``` 3. Check GitHub Actions workflow status (if applicable) ### PHASE 2: LINK VALIDATION 1. Run markdown link checker: ```bash npx markdown-link-check -c .markdown-link-check-config.json README.md ``` 2. For each broken link found: - Fetch the URL to verify it's truly broken - Check if the resource has moved (search for new URL) - Flag for removal or update 3. Report broken links in this format: ``` BROKEN LINKS: - [category] URL → Status: [dead/moved/unknown] ``` ### PHASE 3: CONTENT FRESHNESS CHECK 1. Identify resources that may be outdated: - Check for Zig version-specific content (e.g., "for Zig 0.11") - Look for blog posts older than 2 years - Identify repositories not updated in >1 year 2. Flag candidates for review: ``` POTENTIALLY OUTDATED: - [link] - [reason: old date / unmaintained repo / version-specific] ``` ### PHASE 4: QUALITY ASSESSMENT 1. Check for common issues: - Duplicate links across categories - Missing descriptions for links - Incorrect emoji tags (:star:, :end:, :soon:) - Alphabetical ordering violations 2. Report findings: ``` QUALITY ISSUES: - [type] - [location] - [description] ``` ## ANTI-PATTERNS | Violation | Severity | Action | |-----------|----------|--------| | Adding/removing resources without approval | CRITICAL | NEVER do this — report only | | Modifying content beyond formatting | CRITICAL | NEVER do this | | Ignoring broken links | HIGH | Report and flag | | Suggesting deletions without evidence | MEDIUM | Provide broken link proof | ## OUTPUT FORMAT When reporting maintenance status, always use: ```markdown ## Maintenance Report — [DATE] ### Link Status - Total links checked: [N] - Working: [N] - Broken: [N] ### Broken Links | Category | URL | Status | Suggested Action | |----------|-----|--------|------------------| | ... | ... | ... | ... | ### Outdated Candidates | Resource | Reason | Last Verified | |----------|--------|--------------| | ... | ... | ... | ### Quality Notes - [issue] at [location] ### Recommendations 1. [priority action] 2. [next action] ``` ## CI INTEGRATION This skill works with the existing GitHub Actions: - `main.yml` — runs on push: markdownlint + link check - `pr.yml` — runs on PR: markdownlint only When triggered, verify CI passed before closing any issues. ## BOUNDARIES - DO: Report, verify, flag, recommend - DO NOT: Delete content, add resources, modify substantive content - DO NOT: Force push, merge PRs, modify CI configuration - DO NOT: Access credentials or secrets ## ZIG ECOSYSTEM CONTEXT Key Zig resources to monitor for freshness: - https://ziglang.org/news/ — official news - https://ziggit.dev/ — community forum - https://zig.news/ — community news aggregator - https://github.com/ziglang/zig/releases — compiler releases When Zig releases major versions (e.g., 0.14 → 0.15), flag all version-specific content for review. ================================================ FILE: .opencode/skills/content-management/SKILL.md ================================================ --- name: content-management description: "Content management for zig-learning learning resource aggregator. Triggers: 'add resource', 'review PR', 'categorize', 'assess quality', 'update content'" --- # Content Management — zig-learning Repository You are a content management specialist for the zig-learning learning resource aggregator. Your core responsibility is to evaluate, categorize, and manage Zig learning resources submitted via PRs or identified for addition. You ensure only high-quality, relevant resources enter the repository. ## CAPABILITIES | Tool | When to Use | |------|-------------| | `read` | Review existing categories, README structure | | `grep` / `glob` | Find similar resources, check duplicates | | `webfetch` | Verify resource quality and content | | `bash` | Run linting tools, git operations | | `edit` | Make approved formatting changes | | `lsp_diagnostics` | Check for any issues | ## CONTRIBUTION GUIDELINES From CONTRIBUTING.md: - List items should be sorted *alphabetically* - Each item should be limited to one link - The link should have an author if known - At least 3 items are needed to create a new category - Linters checks should be successful - At least 2 maintainers must review PRs ## TAG SEMANTICS | Tag | Meaning | When to Apply | |-----|---------|---------------| | :star: | Made by repo owner member | Only for @zouyee's content | | :end: | Concept useful but code won't compile | For deprecated Zig syntax | | :soon: | Work in Progress | For upcoming/in-progress resources | ## CATEGORIES STRUCTURE Current categories in README.md: - Books - Videos (Playlists, Presentations) - Podcasts - Zig in practice - Best Practices/Style Guides - Cheat sheets - Zig internals - Compilation - FFI - CI / Testing - Debug / Profiling - Are we ... yet? - Comparison with Other Languages - Applications / Libraries / Tools - Language stuff (Closures, Documentation, Enums, Errors, Iterators, Memory, Comptime, Strings, Syntax extensions, Optional) - Playground - Locale links - Connection (Fearless Zig Bloggers) - Tutorials & Workshop Materials ## WORKFLOW ### PHASE 1: RESOURCE EVALUATION When a new resource is submitted: 1. **Verify accessibility**: - Fetch the URL - Confirm it loads properly - Check for paywalls or registration requirements 2. **Assess content quality**: - Minimum substantive content (not fluff) - Accurate and up-to-date information - Clear authorship/attribution - Practical value for learners 3. **Check for duplicates**: ```bash grep -r "similar-url-pattern" README.md ``` 4. **Determine appropriate category**: - Match resource topic to existing categories - If no match, flag for new category discussion ### PHASE 2: QUALITY CRITERIA CHECKLIST | Criteria | Pass | Fail | N/A | |----------|------|------|-----| | Original, substantive content (not 2 paragraphs) | ☐ | ☐ | ☐ | | Author credited | ☐ | ☐ | ☐ | | Working link | ☐ | ☐ | ☐ | | Alphabetically sorted | ☐ | ☐ | ☐ | | Appropriate category | ☐ | ☐ | ☐ | | No duplicate content | ☐ | ☐ | ☐ | | Suitable for learning Zig | ☐ | ☐ | ☐ | ### PHASE 3: PR REVIEW TEMPLATE When reviewing a PR, use this template: ```markdown ## PR Review: [PR Title] ### Resource Details - **URL**: [submitted URL] - **Author**: [if known] - **Category Suggestion**: [which category] ### Quality Assessment | Criteria | Status | |----------|--------| | Accessible | ✅/❌ | | Substantive content | ✅/❌ | | Not duplicate | ✅/❌ | | Correct category | ✅/❌ | | Alphabetical order | ✅/❌ | ### Recommendation - **APPROVE** — Ready to merge - **REQUEST_CHANGES** — [specific issues] - **REJECT** — [reason] ### Comments for Author [Specific feedback or suggestions] ``` ### PHASE 4: CATEGORIZATION DECISION For borderline resources: **CREATE NEW CATEGORY** if: - 3+ resources exist on the topic - Topic is distinct from existing categories - Topic adds value to learners **MERGE INTO EXISTING** if: - Topic overlaps with current category - Only 1-2 resources on topic **REJECT** if: - Not Zig-related - Low quality or fluff - Duplicate of existing resource ## OUTPUT FORMAT When processing submissions: ```markdown ## Resource Submission Report ### Submitted Resource - **URL**: [URL] - **Suggested by**: [author if known] - **Suggested category**: [category] ### Evaluation | Criteria | Result | |----------|--------| | Accessibility | ✅ Working / ❌ Broken | | Content depth | ✅ Substantive / ❌ Fluff | | Authorship | ✅ Credited / ❌ Unknown | | Duplicate check | ✅ Unique / ❌ [existing URL] | | Category fit | ✅ [category] / ❌ [reason] | ### Decision [APPROVED / REQUEST_CHANGES / REJECTED] ### Next Steps 1. [action item] 2. [action item] ``` ## ANTI-PATTERNS | Violation | Severity | Action | |-----------|----------|--------| | Approving low-quality/fluff content | CRITICAL | Reject per repo standards | | Adding without alphabetical order | HIGH | Reorder immediately | | Skipping duplicate check | HIGH | Always verify uniqueness | | Creating categories with <3 resources | MEDIUM | Wait until threshold met | | Ignoring version-specific content warnings | MEDIUM | Flag for review | ## BOUNDARIES - DO: Evaluate quality, check duplicates, suggest categories, enforce guidelines - DO NOT: Merge PRs without maintainer approval (need 2+) - DO NOT: Add resources yourself without going through PR process - DO NOT: Modify substantial content of existing resources - DO NOT: Bypass contribution guidelines ## ZIG LEARNING CONTEXT Remember the target audience: - Developers coming from other languages (GC'd or systems) - People evaluating Zig vs Rust/C/C++ - Existing Zig users looking for advanced topics - Beginners to Zig Resources should be: - Educational, not promotional - Technically accurate for current Zig version - Practical and actionable ================================================ FILE: .opencode/skills/readme-updater/SKILL.md ================================================ --- name: readme-updater description: "Active README.md updater for zig-learning. Triggers: 'update readme', 'update README', 'refresh readme', 'update resources'" --- # README Updater — zig-learning Repository You are an active README updater for the zig-learning project. When the user asks to update the README, you DO NOT just report — you actively search, evaluate, modify, verify, and commit the changes. Your core responsibility is to keep README.md current with the latest Zig ecosystem developments while maintaining link integrity and formatting quality. ## TRIGGERS - "update readme" - "update README" - "refresh readme" - "update resources" - "update latest zig projects" - "add [resource] to readme" ## WORKFLOW ### PHASE 1: SEARCH & DISCOVER 1. **Search for latest Zig content**: - `SearchWeb("best popular Zig open source projects 2025 2026 GitHub trending")` - `SearchWeb("Zig programming language news tutorials latest")` - `SearchWeb("Zig language new releases updates")` 2. **Identify candidates**: - New GitHub projects with 100+ stars - New Zig releases (e.g., 0.16.0, 0.17.0) - New tutorials, videos, articles - Major ecosystem changes (e.g., GitHub → Codeberg migration) ### PHASE 2: UPDATE README.md 1. **Add new resources** to appropriate categories: - Projects → "Applications / Libraries / Tools" - Videos → "Videos" or "Presentations" - News → "Zig internals" or "Connection" 2. **Maintain alphabetical order** within each list 3. **Use proper tags**: - `:star:` for @zouyee's content - `:end:` for deprecated code but useful concepts - `:soon:` for WIP resources ### PHASE 3: VERIFY QUALITY 1. **Run markdownlint**: ```bash npx markdownlint-cli2 README.md ``` 2. **Run link checker**: ```bash npx markdown-link-check -c .markdown-link-check-config.json README.md ``` 3. **Fix any errors**: - Formatting issues → fix immediately - Dead links → remove or replace - Status 0/403 from major platforms (YouTube, Spotify, Medium, Reddit) → add to `.markdown-link-check-config.json` ignorePatterns, do NOT remove ### PHASE 4: COMMIT & PUSH 1. **Stage changes**: ```bash git add -A ``` 2. **Commit with descriptive message**: ```bash git commit --author="zouyee " -m "docs: update README with latest Zig projects/news/tutorials" ``` 3. **Push to origin**: ```bash git push origin main ``` ## ANTI-PATTERNS | Violation | Action | |-----------|--------| | Only reporting without making changes | CRITICAL — Must actually edit files | | Removing links from major platforms due to Status 0/403 | HIGH — Add to ignorePatterns instead | | Skipping markdownlint/link-check | HIGH — Always verify before commit | | Adding resources without alphabetical sorting | HIGH — Reorder immediately | | Skipping git push | MEDIUM — Always push after commit | ## BOUNDARIES - DO: Search, add, remove, verify, commit, push - DO NOT: Modify CI configuration - DO NOT: Force push or rewrite history unless explicitly requested - DO NOT: Access credentials or secrets ## CI INTEGRATION When updating README.md: 1. Ensure `.markdown-link-check-config.json` is updated if new ignore patterns needed 2. Ensure `package.json` dependencies are tracked if new devDependencies added 3. Verify `.gitignore` does not exclude `package.json` ================================================ FILE: CODE_OF_CONDUCT.md ================================================ # Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at PR. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/4/ ================================================ FILE: CONTRIBUTING.md ================================================ # Contribution Guidelines In order to contribute to this repository you need to **fork** it, then you can create a pull request. ## Pull requests - **To add, remove, or change things on the list:** Submit a pull request - List items should be sorted *alphabetically*. - Each item should be limited to one link. - The link should have an author if known - At least 3 items are needed to create a new category. - Linters checks should be successful Please contribute links to resources you have used or are familiar with. This will help ensure high-quality entries. If you removed our PR template you can find it [here](https://github.com/zouyee/zig-learning/blob/master/.github/PULL_REQUEST_TEMPLATE.md). ## Maintainers To make sure every PR is checked, we have [team maintainers](MAINTAINERS). Every PR should be reviewed by at least two maintainers before it can get merged if the team is not outnumbered. The maintainers will review your PR and notify you and tag it in case any information is still missing. You can also apply to become a maintainer by submitting a PR. ## Reporting issues Please open an issue if you would like to discuss anything that could be improved or have suggestions for making the list a more valuable resource. Thank you for your suggestions! ================================================ FILE: MAINTAINERS.md ================================================ zouyee (@zouyee) ================================================ FILE: README.md ================================================ # zig-learning [![Build Status](https://github.com/zouyee/zig-learning/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/zouyee/zig-learning/actions/workflows/main.yml) A bunch of links to blog posts, articles, videos, etc for learning Zig. Feel free to submit a pull request if you have some links/resources to add. Also, I try to verify that the articles below have some real content (i.e. they aren't 2 paragraph long blog posts with little information) to ensure I'm not listing "fluff" pieces. If you have an idea for a better way to organize these links, please let me know. **Inspired** by rust-learning. ## Introduction *Do you want to be convinced that Zig is worth learning?* Let us show you the [Comparison](https://ziglang.org/learn/why_zig_rust_d_cpp/)). The main documentation is always the best beginning, so if you haven't read it yet, start by reading the [Zig learn](https://ziglang.org/learn/)). Online learning resources at [zig.guide](https://zig.guide/) and [ziglings exercises](https://codeberg.org/ziglings/exercises/). ### Tag meanings * :star: Something made by repo owner member. * :end: Concepts are still useful but code could not compile. * :soon: Work In Progress. ## Table of Contents * [Books](#books) * [Videos](#videos) * [Playlists](#playlists) * [Presentations](#presentations) * [Podcasts](#podcasts) * [Zig in practice](#zig-in-practice) * [Best Practices/Style Guides](#best-practicesstyle-guides) * [Cheat sheets](#cheat-sheets) * [Zig internals](#zig-internals) * [Compilation](#compilation) * [FFI](#ffi) * [CI / Testing](#ci--testing) * [Debug / Profiling](#debug--profiling) * [Are we ... yet?](#are-we--yet) * [Comparison with Other Languages](#zig-comparison-with-other-languages) * [Applications / Libraries / Tools](#applications--libraries--tools) * [AI / Machine Learning](#ai--machine-learning) * [Language stuff](#language-stuff) * [Closures](#closures) * [Documentation](#documentation) * [Enums](#enums) * [Errors](#errors) * [Iterators](#iterators) * [Memory](#memory) * [Comptime](#comptime) * [Strings](#strings) * [Syntax extensions](#syntax-extensions) * [Optional](#optional) * [Playground](#playground) * [Locale links](#locale-links) * [Connection](#connection) * [Fearless Zig Bloggers](#fearless-zig-bloggers) * [Tutorials & Workshop Materials](#tutorials--workshop-materials) ## Books * :star: [Zig Programming Language](https://ziglearn.org) - An introductory book on Zig, covering the basics to advanced topics. * :star: [zig-cookbook](https://cookbook.ziglang.cc/) - Simple Zig programs that demonstrate good practices to accomplish common programming tasks. ## Videos * :star: [Introduction to Zig](https://www.youtube.com/watch?v=YXrb-DqsBNU&list=PLV9VPfCMjvoAkgrPTuGCoRnelFwlKXyTS) - A video introduction to Zig and its features. * :star: [Zig ShowTime](https://www.youtube.com/@ZigSHOWTIME) - A playlist of talks and tutorials on Zig by community members. * :star: [Zig Roadmap 2024(Andrew Kelley)](https://www.youtube.com/watch?v=5eL_LcxwwHg) * :star:[Is 2024 The Year Of Zig ?](https://www.youtube.com/watch?v=DucriSA8ukw) * [Advent of Code 2023 in Zig](https://www.youtube.com/watch?v=HftiNZwMdzY) * [Zig Roadmap 2026](https://www.youtube.com/watch?v=x3hOiOcbgeA) - Zig SHOWTIME * [Zig Build System Basics (Zig 0.14)](https://www.youtube.com/watch?v=jy7w_7JZYyw) - Zig SHOWTIME * [I Made My Own OS Using Zig!](https://www.youtube.com/watch?v=KMgUgPFHL7Y) - Emez Labs * [Zig Development Async/Await Resurrection](https://www.youtube.com/watch?v=0kUvoU60pbc) - Andrewrok Archives * [Data-Oriented Design Revisited: Type Safety in the Zig Compiler](https://www.youtube.com/watch?v=KOZcJwGdQok) - Matthew Lugg ### Playlists * :star:[Zig Programming Language](https://www.youtube.com/playlist?list=PLV9VPfCMjvoAkgrPTuGCoRnelFwlKXyTS) ### Presentations * 2026-04-18 - [Core Team Member Spotlight: Alex Rønne Petersen](https://ziglang.org/news/) - ziglang.org * 2026-04-14 - [Zig 0.16.0 Release Notes](https://ziglang.org/download/0.16.0/release-notes.html) - Major release debuting I/O as an Interface, Juicy Main, and incremental compilation improvements * 2026-04-27 - [Zig explores structured concurrency](https://lwn.net/Articles/1067634/) - LWN.net coverage of Zig 0.16.0's new `Io` interface based on structured concurrency * 2025-11-26 - [Migrating from GitHub to Codeberg](https://ziglang.org/news/migrating-from-github-to-codeberg/) - Zig project officially moves its canonical repository from GitHub to Codeberg * 2023-10-04 - [Rust & Zig Combined • Richard Feldman • GOTO 2023](https://www.youtube.com/watch?v=jIZpKpLCOiU) - Richard Feldman * 2022-10-04 - [Intro to the Zig Programming Language • Andrew Kelley • GOTO 2022](https://www.youtube.com/watch?v=YXrb-DqsBNU)- Andrew Kelley * 2019-04-23 - [Andrew Kelley - The Zen of Zig](https://www.youtube.com/watch?v=Gv2I7qTux7g) - A presentation by the creator of Zig, explaining its philosophy and features. * 2024-09-30 - [Pragma driven shared memory parallelism in Zig by supporting OpenMP loop directives](https://arxiv.org/html/2409.20148v1) - In this paper they describe enhancing the Zig compiler to add support for OpenMP loop directives. * 2025-02-01 - [Small headed programming for performance with prescheme, nim and zig](https://archive.fosdem.org/2025/schedule/event/fosdem-2025-5848-small-headed-programming-for-performance-with-prescheme-nim-and-zig/) - FOSDEM 2025 ## Podcasts * 2024-07-14 - [Zig as a Multi-OS Build System (with Loris Cro)](https://open.spotify.com/episode/1CKAVEQfS0aVWV5GuT96AF) - Loris Cro * 2022-07-01 - [Full-Time Open Source With Andrew Kelley](https://corecursive.com/067-zig-with-andrew-kelley/) * 2022-06-24 - [Zig with Andrew Kelley](https://rustacean-station.org/episode/andrew-kelley/) * 2022-01-24 - [Zig and Zigler with Isaac Yonemoto](https://podcast.thinkingelixir.com/83) - Isaac Yonemoto * 2025-05-29 - [Exploring the Zig programming language with Loris Cro](https://podcasts.apple.com/ng/podcast/exploring-the-zig-programming-language-with-loris-cro/id1740467376) - Coding Chats * 2025-10-09 - [Zig Creator Andrew Kelley](https://www.youtube.com/watch?v=w74rC-6caxE) - Software Unscripted * 2025-12-25 - [Loris Cro on the Rise of Zig](https://hanselminutes.com/1029/loris-cro-on-the-rise-of-zig) - Hanselminutes ## Zig in practice * :star: [Zig By Example](https://ziglang.org/learn/samples/) * [Why your first FizzBuzz implementation may not work](https://zig.guide/posts/fizz-buzz/) * :star: [Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one](https://github.com/oven-sh/bun) - Brian Anderson * :star: [Building an HTTP client/server from scratch](https://blog.orhun.dev/zig-bits-04/) - A practical guide to building a web server in Zig. * [Writing a struct deserializer with Zig metaprogramming](https://nathancraddock.com/blog/deserialization-with-zig-metaprogramming/) * [Starting a new game dev project](https://www.youtube.com/watch?v=YiuCltFZldk) - A practical guide to building a new game dev project * [Exploring Zig Programming Language with The Mandelbrot Set](https://www.rdiachenko.com/posts/zig/exploring-ziglang-with-mandelbrot-set/) - Explore Zig by building a program that plots the Mandelbrot set ## Best Practices/Style Guides * :star: [Zig Design Patterns](https://github.com/SuperAuguste/zig-patterns) * :star: [Zig API guidelines](https://ziglang.org/documentation/master/) * [Good Practices for consuming C libraries](https://ziggit.dev/t/best-practices-for-consuming-c-libraries/6819) - [cztomsik](https://ziggit.dev/u/cztomsik) * [Zig Bits](https://blog.orhun.dev/zig-bits-04/) * [Best Practices for Structuring Zig Projects with External Dependencies](https://ziggit.dev/t/best-practices-for-structuring-zig-projects-with-external-dependencies/3723) - castholm * [Comparing Rust vs. Zig: Performance, safety, and more](https://blog.logrocket.com/comparing-rust-vs-zig-performance-safety-more/) - Eze * [Memory Safety in C++ vs Rust vs Zig](https://medium.com/@shyamsundarb/memory-safety-in-c-vs-rust-vs-zig-f78fa903f41e) * [A TypeScripter's Take on Zig (Advent of Code 2023)](https://effectivetypescript.com/2024/07/17/advent2023-zig/) * [Zig in Depth: A video course that covers the Zig programming language in depth.](https://www.youtube.com/playlist?list=PLtB7CL7EG7pCw7Xy1SQC53Gl8pI7aDg9t) * [Zig Type Resolution Redesign and Language Changes in 2026](https://sesamedisk.com/zig-type-resolution-redesign-2026/) - Overview of Zig's type resolution overhaul, lazy field analysis, and incremental compilation improvements ## Cheat sheets * :star: [Syntax Index](https://ziglang.org/documentation/master/) - Official documentation covering Zig's syntax and key concepts. * [Community Zig Tutorials](https://zig.news/) - A portal for discovering new Zig tutorials and community-driven content. * [Zig Cheat Sheet](https://gist.github.com/jdmichaud/b75ee234bfa87283a6337e06a3b70767) - A handy reference guide with key Zig programming concepts and syntax patterns, created by a Zig community member. * [Zig Language Patterns](https://github.com/SuperAuguste/zig-patterns) - Best practices and design patterns written by Andrew Kelley, the creator of Zig. * [Zig Learn](https://ziglearn.org/) - A community-maintained guide for beginners, offering an introduction to Zig's core features with practical examples. * [Zig Memory Management Guide](https://ziglang.org/documentation/master/#Memory) - Useful tips and tricks for managing memory safely and efficiently in Zig. * [Zig Playground](https://zig-play.dev/) - An online environment for experimenting with Zig code snippets and testing ideas quickly. * [Zig Standard Library Overview](https://ziglang.org/documentation/master/std/) - A detailed overview of Zig's standard library, ideal for understanding built-in utilities and functions. ## Zig internals * :star: [Codeberg Repository](https://codeberg.org/ziglang/zig) - Official Zig repository after migrating from GitHub to Codeberg (November 2025) * :star: [Zig 0.16.0 Release Notes](https://ziglang.org/download/0.16.0/release-notes.html) - Major release with I/O as Interface, Juicy Main, and incremental compilation improvements * :star: [Zig Community Forum](https://ziggit.dev/) - A discussion platform for Zig language design, development news, and technical questions. * :star: [Zig Documentation](https://ziglang.org/documentation/master/) - The official and comprehensive documentation for understanding Zig’s features and syntax. * :star: [Zig Proposals](https://github.com/ziglang/zig/issues?q=is%3Aissue++label%3Aproposal+) - A collection of Zig’s proposed RFCs (Request for Comments) for proposals. ## Compilation * [Zig Compilation Guide](https://ziglang.org/learn/build-system/) - Zig official documentation. This guide provides detailed information on how to set up compilation with Zig. It includes basic steps, toolchain setup, and target options. * **[Zig for Raspberry Pi](https://github.com/markfirmware/zig-bare-metal-raspberry-pi)** - A community-driven project that shows how to cross-compile Zig programs for the Raspberry Pi, with a setup for cross-compiling Zig on Linux. * **[Zig Cross Compilation for macOS](https://github.com/shepherdjerred/macos-cross-compiler)** - This project allows you to cross-compile code on Linux that will be executed on macOS. * **[Compile Cargo project with zig](https://github.com/rust-cross/cargo-zigbuild)** - It is a tool that facilitates building Rust projects with the Zig toolchain, enabling cross-compilation and optimizations that are typically more straightforward than using Rust's native toolchain alone. ## FFI * **[Using Zig with C: Interop Guide](https://ziglang.org/documentation/master/#C-interop)** - The official Zig documentation for C interop. Zig provides seamless integration with C, allowing you to call C functions directly and link against C libraries without needing additional tooling. * **[Zig and Node.js: Writing Native Modules](https://github.com/staltz/zig-nodejs-example)** - A GitHub issue tracking the integration of Zig with Node.js for native modules. It discusses potential setups for creating fast, native Node.js modules using Zig. * **[Cross-compiling Zig for Mobile Platforms (Android/iOS)](https://github.com/andrewrk/sdl-zig-demo)** - A tutorial by Andrew Kelley on cross-compiling Zig for Android, including setup instructions and guidance on building shared libraries. Though there isn't a direct iOS equivalent yet, the process can be adapted similarly. * **[Zig and Dynamic Libraries: Working with .so and .dll](https://ziggit.dev/t/zig-to-zig-dynamic-libraries-modules/6775)** - A blog post that explores how to build dynamic libraries (.so and .dll) using Zig. This is particularly useful when you need to create shared libraries for FFI purposes. * **[Integrating Zig with Rust for FFI](https://dev.to/mustafif/using-zig-in-rust-160p)** - A tutorial on how to create a Rust-Zig integration, using Zig’s FFI to enhance performance or utilize Zig’s unique features. ## CI / Testing * **[Setting up Zig with GitHub Actions](https://github.com/marketplace/actions/setup-zig-compiler)** - A detailed guide on using GitHub Actions for Zig projects. It covers basic configurations for running tests and building Zig code on different platforms. * **[Using Zig with Travis CI](https://codelv.com/blog/2020/4/testing-a-zig-project-with-travis-ci)** - While less common than GitHub Actions, some legacy projects still use Travis CI. Zig's documentation includes pointers on setting up Travis CI for Zig builds. * **[Fuzz Testing in Zig](https://github.com/ziglang/zig/issues/20702)** - Official announcement detailing Zig's built-in support for fuzz testing introduced in Zig 0.14. It includes how to use the fuzz testing features and examples of detecting bugs in Zig applications. * **[Test Coverage for Zig Projects](https://github.com/ziglang/zig/issues/5212)** - A GitHub issue discussing ideas and strategies for implementing test coverage in Zig. Though Zig doesn’t have built-in support for test coverage yet, there are community-driven approaches and tools you can try. * **[Beautiful Commits and Code Formatting with zig fmt](https://lewisgaul.co.uk/blog/coding/2021/03/02/first-zig-contribution/)** - Zig comes with a built-in formatter, `zig fmt`, to ensure consistent code style. You can integrate this into your CI setup to enforce formatting rules automatically. * **[Performance Testing in Zig](https://github.com/ziglang/gotta-go-fast)** - This project exists to track various benchmarks related to the Zig project regarding execution speed, memory usage, throughput, and other resource utilization statistics. * **[Zig Test Documentation](https://ziglang.org/documentation/master/#Zig-Test)** - Zig’s documentation on writing and running tests. It provides an overview of Zig's testing features, including test declarations, assertions, and running tests as part of your CI pipeline. ## Debug / Profiling * **[Zig Debugging with vscode](https://gist.github.com/floooh/31143278a0c0bae4f38b8722a8a98463)** - A gist about using vscode for debugging Zig programs. * **[Zig on Compiler Explorer](https://godbolt.org/)** - Like Rust's Compiler Explorer, Zig is also supported on Compiler Explorer. You can use this to explore Zig code as assembly and view the generated machine code. Simply select Zig as the compiler on the site. * **[Zig Performance Tracking](https://ziglang.org/perf/)** - This project exists to *track various benchmarks related to the Zig project* regarding execution speed, memory usage, throughput, and other resource. ## Are we ... yet? * **[Are We IDE Yet? - Zig](https://ziglang.org/learn/tools/)** - An overview of current IDE support for Zig. It lists plugins and extensions for popular editors like VSCode, Sublime Text, and Vim, tracking the maturity of the Zig developer experience. * **[Are We Game Yet? - Zig](https://github.com/zig-gamedev/zig-gamedev)** - It explores libraries, game engines, and Zig's capabilities for game-related projects. * **[Are We Async Yet? - Zig](https://ziglang.org/documentation/master/#Async)** - Zig's official documentation on asynchronous programming. Zig is still developing its async features, but this section provides an in-depth look at the current state and future goals for asynchronous execution. * **[Awesome Zig](https://github.com/C-BJ/awesome-zig)** - A comprehensive list of curated resources for Zig, covering libraries, tools, tutorials, and more. It's similar to "Not-Yet-Awesome Rust," helping developers find or contribute to Zig projects. * **[Zig GUI Libraries](https://github.com/capy-ui/capy)** - Capy is a **GUI library for Zig**. It is mainly intended for creating applications using native controls from the operating system. It has been made with the goal to empower standalone UI applications, integration in games or any other rendering process is a non-goal. ### Zig Comparison with Other Languages | **Languages** | **Links** | | --- | --- | | **C** | | | **C++** | | | **Go** | | | **Rust** | | | **Python** | | | **JavaScript** | | | **Java** | | | **Swift** | | | **Haskell** | | | **Ruby** | | | **Erlang** | | | **Nim** | | ## Applications / Libraries / Tools See repos [nrdmn/awesome-zig](https://github.com/nrdmn/awesome-zig) & [zigcc/awesome-zig](https://github.com/zigcc/awesome-zig) ### Notable Recent Projects * [CascadeOS](https://github.com/CascadeOS/CascadeOS) - General purpose operating system targeting standard desktops and laptops (115 stars) * [codedb](https://github.com/justrach/codedb) - Zig code intelligence server and MCP toolset for AI agents (781 stars) * [dusty](https://github.com/lalinsky/dusty) - HTTP client/server library for Zig (89 stars) * [dvui](https://github.com/david-vanderson/dvui) - Immediate Zig GUI for Apps and Games (1.4K stars) * [Ghostty](https://github.com/ghostty-org/ghostty) - Fast, feature-rich, cross-platform terminal emulator with GPU acceleration and native UI. Built with Zig (52K stars) * [libxev](https://github.com/mitchellh/libxev) - Cross-platform, high-performance event loop for non-blocking IO, timers, events and more (3.5K stars) * [Lightpanda](https://github.com/lightpanda-io/browser) - Zig-built headless browser optimized for AI automation and scraping (8.2K stars) * [pixi](https://github.com/foxnne/pixi) - Pixel art editor made with Zig (1.3K stars) * [Regex.zig](https://github.com/quangd42/regex.zig) - Native Zig regex engine in the RE2 family with guaranteed linear time matching * [wterm](https://github.com/vercel-labs/wterm) - Zig + WASM-powered browser-native terminal emulator by Vercel Labs * [Zeno](https://github.com/zeno-core/zeno) - High-performance embedded key-value storage engine with ART index (10M+ ops/sec) * [zig-lsp-codegen](https://github.com/zigtools/zig-lsp-codegen) - Building blocks to develop LSP implementations in Zig (147 stars) * [zig-lz4](https://github.com/jedisct1/zig-lz4) - LZ4 implementation in pure Zig * [zig-regex](https://github.com/zig-utils/zig-regex) - Modern, performant regular expression library * [ziglint](https://github.com/rockorager/ziglint) - Opinionated linting to keep your agent in check (35 stars) * [zmx](https://github.com/neurosnap/zmx) - Session persistence for terminal processes (1.4K stars) * [zio](https://github.com/lalinsky/zio) - Async I/O framework for Zig with epoll/io-uring support (413 stars) * [ziex](https://github.com/ziex-dev/ziex) - Full-stack web framework with HTML syntax within Zig code (163 stars) * [zml](https://github.com/orgs/zml/repositories) - Any model. Any hardware. Zero compromise. ML framework built with Zig (2.6K stars) * [zpdf](https://github.com/Lulzx/zpdf) - Zero-copy PDF text extraction library with SIMD acceleration (891 stars) * [zwanzig](https://github.com/forketyfork/zwanzig) - Static analyzer and linter for Zig (19 stars) ## AI / Machine Learning * :star: [llmlite](https://github.com/zouyee/llmlite) - Lightweight LLM inference library in pure Zig * [zigformer](https://github.com/CogitatorTech/zigformer) - Educational transformer-based LLM in pure Zig * [llm.zig](https://github.com/Saimirbaci/llm.zig) - LLM implementation in Zig * [MLX.zig](https://github.com/jaco-bro/MLX.zig) - MLX (Apple Silicon ML framework) bindings for Zig - supports Phi-4, Llama 3.2, Whisper * [Implementing MNIST classifier from scratch in Zig](https://cernockyd.com/blog/implementing-mnist-classifier-from-scratch-in-zig) - Building a neural network from scratch in pure Zig ### AI Agents & Frameworks * [NullClaw](https://github.com/NullClaw/zig) - Full-stack AI agent framework in pure Zig. 678KB binary, ~1MB RAM, boots in 2ms. Supports 20+ LLM providers (2026) * [KrillClaw](https://github.com/krillclaw/KrillClaw) - World's smallest AI agent runtime (49KB/450KB binary). Written in Zig, zero dependencies. Runs on microcontrollers or cloud. Supports 20+ LLM providers (2026) * [zig-ai](https://github.com/FOLLGAD/zig-ai) - Simple OpenAI API client for Zig with streaming support * [zai](https://github.com/allisoneer/zai) - Multi-provider AI library for Zig (OpenAI-compatible, Amazon Bedrock, Anthropic) * [ZigNet](https://github.com/fulgidus/zignet) - MCP server for Zig with AI-powered code analysis, validation, and documentation (fine-tuned LLM) ### Deep Learning & Inference * [zigrad](https://github.com/Marco-Christiani/zigrad) - Deep learning framework with autograd engine. 2.5x+ speedup over PyTorch on Apple Silicon. Active development (192 stars) * [zigTensor](https://github.com/cryptodeal/zigTensor) - Fast, flexible machine learning library in pure Zig (inspired by Flashlight) * [zig-ml](https://github.com/ApoorvaJ/zig-ml) - Large Language Model inference written in Zig (llama2.c port) * [llama2.zig](https://github.com/cgbur/llama2.zig) - Inference Llama 2 in one file of pure Zig with SIMD optimization (211 stars, archived) ## Language stuff ### Closures * [Zig Anonymous Functions and Closures: An In-Depth Analysis](https://gencmurat.com/en/posts/zig-anonymus-functions-and-closures/) ### Documentation * :star: [Writing Documentation for Zig Projects](https://ziglang.org/documentation/master/#Comments) - Zig Community * [Generating documentation from zig build](https://sudw1n.gitlab.io/posts/zig-build-docs/) - sudw1n * [Using Zig's Built-in Documentation Generator](https://github.com/ziglang/docgen) - docgen ### Enums * :star: [The Power of Zig Enums](https://ziglang.org/documentation/master/#enum) - ziglang.org * [Extending an Enum in Zig](https://kihlander.net/post/extending-an-enum-in-zig/) - Fredrik Kihlander ### Errors * :star: [Ziglang Document:Errors](https://ziglang.org/documentation/master/#Errors) ziglang.org * [Error Handling in Zig](https://zig.guide/language-basics/errors/) - zig.guide * [Support error sets in switch cases](https://github.com/ziglang/zig/issues/2473) - [hryx](https://github.com/hryx) * [Return Values and Error Unions in Zig](https://gencmurat.com/en/posts/advanced-guide-to-return-values-and-error-unions-in-zig/) - gencmurat * [Errors and Zig](https://notes.eatonphil.com/errors-and-zig.html) - [Phil Eaton](https://eatonphil.com/) ### Iterators * :star:[proposal: Streamline loops, and enhance iteration](https://github.com/ziglang/zig/issues/3110) - [Tetralux](https://github.com/Tetralux) * :star:[Proposal: Generator / Iterator Syntactic Sugar](https://github.com/ziglang/zig/issues/5331) - [kayomn](https://github.com/kayomn) * [How Zig Handles Iteration](https://zig.guide/standard-library/iterators/) - zig.guide * [Zig's Curious Multi-Sequence For Loops](https://kristoff.it/blog/zig-multi-sequence-for-loops/) - Loris Cro ### Memory * :star:[Memory Management in Zig](https://ziglang.org/documentation/master/#Memory) - ziglang documentation * [Memory Management With Zig](https://www.nmichaels.org/musings/zig/memory/) - Nathan * [How (memory) safe is zig?](https://www.scattered-thoughts.net/writing/how-safe-is-zig/) - [Jamie Brandon](https://github.com/jamii/) * [What's a Memory Allocator Anyway?](https://www.youtube.com/watch?v=vHWiDx_l4V0) - Benjamin Feng #### Comptime * :star: [Zig Programming Language Blurs the Line Between Compile-Time and Run-Time](https://andrewkelley.me/post/zig-programming-language-blurs-line-compile-time-run-time.html) - Andrew Kelley * :star: [Conditionally Disabling Code with Comptime in Zig](https://mitchellh.com/writing/zig-comptime-conditional-disable) - [Mitchell Hashimoto](https://mitchellh.com/) * :star: [Tagged Union Subsets with Comptime in Zig](https://mitchellh.com/writing/zig-comptime-tagged-union-subset) - [Mitchell Hashimoto](https://mitchellh.com/) * [What is `comptime`?](https://kristoff.it/blog/what-is-zig-comptime/) - [Loris Cro](https://kristoff.it/) * [Exploring Compile-Time Interfaces in Zig](https://medium.com/@jerrythomas_in/exploring-compile-time-interfaces-in-zig-5c1a1a9e59fd) - [Jerry Thomas](https://medium.com/@jerrythomas) * [Zig's Comptime is Bonkers Good](https://www.scottredig.com/blog/bonkers_comptime/) - Scott Redig ### Strings * [Proposal: Add String to the type system](https://github.com/ziglang/zig/issues/7734) - [mlarouche](https://github.com/mlarouche) * [Using Zig to Call C Code: Strings](https://mtlynch.io/notes/zig-strings-call-c-code/) - [Michael Lynch](https://mtlynch.io/) * [Zig / Strings in 5 minutes](https://www.huy.rocks/everyday/01-04-2022-zig-strings-in-5-minutes) - [Huy](https://www.huy.rocks/) * [Pointers in Zig](https://www.nmichaels.org/zig/pointers.html) - [Nathan](https://www.nmichaels.org/) ### Syntax Extensions * [Zig Metaprogramming](https://ikrima.dev/dev-notes/zig/zig-metaprogramming/) - ikrima * [Supercharging Python Performance with Zig: Building Python Packages and Benchmarking for Speed](https://www.linkedin.com/pulse/supercharging-python-performance-zig-building-packages-bassem-aziz-glmlc/) - Bassem Aziz * [zig-trait](https://github.com/passchaos/zigraft) - Library to emulate Rust's trait in Zig with associated types, default implementations, and inheritance ### Optional * [What's up with Zig's Optionals?](https://www.reddit.com/r/ProgrammingLanguages/comments/1bn2i58/whats_up_with_zigs_optionals/) - Reddit * [Proposal: Optional argument names in function calls](https://github.com/ziglang/zig/issues/982) * [Ziglang Document:Optionals](https://ziglang.org/documentation/master/#Optionals) ## Playground * [Zig Playground](https://zig-play.dev/) * [alternative](https://godbolt.org/) ## Locale links ## Connection Are you searching for a Ziguanas ? [Ziglang.org](https://github.com/zig-community/user-map) Do you want to ask a question? [Zig Users Forum](https://ziggit.dev/), [Reddit](https://www.reddit.com/r/Zig/) Do you want to meet them IRL? [Community](https://github.com/ziglang/zig/wiki/Community) Go to Ziguanas events? [Zig SHOWTIME](https://zig.show/) Are you looking for a job? [Zig Jobs on Indeed](https://www.indeed.com/q-zig-programming-jobs.html) Are you fast, simple, and focused? [Find something Ziggy to work on!](https://github.com/ziglang/zig/issues) Do you want to stay up to date? [The official blog](https://ziglang.org/news/), [Zig NEWS](https://zig.news/), [The official reddit](https://www.reddit.com/r/Zig/) Do you want to find out why some historical decisions took place? [Zig GitHub Discussions](https://github.com/ziglang/zig/wiki/FAQ) ### Fearless Zig Bloggers * [Andrew Kelley](https://github.com/andrewrk) - [blog](https://andrewkelley.me/) * [Jonathan Marler](https://github.com/marler8997) * [Hejsil](https://github.com/Hejsil) * [Hexops](https://github.com/hexops) - [blog](https://hexops.com/) * [Karl Seguin](https://www.github.com/karlseguin)* [Loris Cro](https://github.com/kristoff-it) - [blog](https://kristoff.it/) * [tigerbeetle](https://github.com/tigerbeetle/tigerbeetle) * [Validark](https://github.com/Validark) * [Mitchell Hashimoto](https://github.com/mitchellh) - [blog](https://mitchellh.com/) ## Tutorials & Workshop Materials These are slides and materials from brick-and-mortar workshops about Zig. While they're unlikely to help a student learning independently, they may be of interest if you're running a workshop on Zig. * Loris Cro's [Ziglings](https://github.com/ratfactor/ziglings), a series of small exercises introducing Zig syntax and concepts interactively. * [Zig SHOWTIME Videos](https://zig.show/) featuring tutorials and real-world examples from the Zig community. * sleibrock' [Zig and WebAssembly Tutorial](https://dev.to/sleibrock/webassembly-with-zig-part-1-4onm) covering Zig's use in modern WebAssembly projects. * [Zig Advent Calendar](https://effectivetypescript.com/2024/07/17/advent2023-zig/) offering a curated set of beginner to advanced Zig tutorials and exercises. * orhun's [Zig Bits](https://blog.orhun.dev/zig-bits-01/) focusing on practical library implementation in Zig. * [A half-hour to learn Zig](https://gist.github.com/ityonemo/769532c2017ed9143f3571e5ac104e50) this is inspired by [a-half-hour-to-learn-rust](https://fasterthanli.me/blog/2020/a-half-hour-to-learn-rust/) * [A Unix Shell in Zig](https://ratfactor.com/zig/forking-is-cool) exploration combining Zig with scripting tools. ================================================ FILE: package.json ================================================ { "devDependencies": { "markdown-link-check": "3.12.2", "markdownlint-cli": "^0.48.0" } }