Developer Guide

Add Your Zig Project

Get your Zig library or application listed on Zig Index by submitting a Pull Request. It's simple, curated, and gives you full control.

1
Fork the Registry Repository
Start by forking the registry repo

Zig Index uses a curated registry of JSON files. To add your project, you'll need to submit a Pull Request.

2
Create a JSON Entry
Add your project information

Create a new JSON file in the appropriate folder based on your project type:

For Libraries/Packages

repositories/packages/your-package.json

For Applications/Tools

repositories/applications/your-app.json
{
  "name": "Your Package Name",
  "owner": "your-github-username",
  "repo": "your-repo-name",
  "description": "A brief description of what your package does",
  "homepage": "https://your-docs-site.com",
  "license": "MIT",
  "category": "networking"
}

JSON Schema Fields:

  • name (required): Display name for your project
  • owner (required): GitHub username or organization
  • repo (required): Repository name (without owner)
  • description (required): Short description (max 200 chars recommended)
  • homepage (optional): Documentation or website URL
  • license (optional): License identifier (MIT, GPL-3.0, etc.)
  • category (optional): Category for filtering (e.g., gui, networking, game-engine, database, etc.)
3
Submit a Pull Request
Get your project reviewed and merged

Create a Pull Request with your new JSON file. A maintainer will review it to ensure your project meets the quality guidelines.

PR Checklist:

  • JSON file is valid and follows the schema
  • Repository exists and is publicly accessible
  • Project is related to Zig programming language
  • Has a README with description and usage
  • Has a license file
4
Write a Good README
Help users understand your project

A well-written README helps users understand what your package does and how to use it. Include these sections:

# Your Package Name

Short description of what your package does.

## Features

- Feature 1
- Feature 2
- Feature 3

## Installation

Add this to your `build.zig.zon`:

```zig
.dependencies = .{
    .your_package = .{
        .url = "https://github.com/you/your-package/archive/refs/tags/v1.0.0.tar.gz",
        .hash = "...",
    },
},
```

## Usage

```zig
const lib = @import("your_package");

pub fn main() !void {
    // Example usage
}
```

## API Reference

Document your public API here.

## License

MIT License - see LICENSE file for details.
What Happens Next?

Once your PR is merged, your project will appear on Zig Index immediately! The site is rebuilt automatically when changes are merged. Live stats (stars, forks, watchers) are fetched on-demand from GitHub.

Frequently Asked Questions

Why use Zig Index?

The simplest way to discover quality Zig packages and applications. We provide a curated registry, live GitHub stats with smart caching, powerful search, and a community-driven contribution process.

How long until my project appears?

Once your PR is reviewed and merged, your project will appear immediately after the site is rebuilt. This usually takes just a few minutes.

Can I update my project information?

Yes! Simply submit another PR to update your JSON file. You can change the description, topics, homepage, or any other field.

Can I remove my project from Zig Index?

Yes! Submit a PR to delete your JSON file from the registry. The change will take effect after the PR is merged.

Why do I need to submit a PR?

The PR-based system ensures quality control and prevents spam. It also gives you full control over how your project is described and categorized. The curated approach keeps the registry focused on high-quality Zig projects.

Where does the star/fork data come from?

Live stats are fetched from GitHub's API when users view the registry. This data is cached locally for performance. Your project's basic info (name, description) comes from the registry JSON file you submitted.