|
| 1 | +# Contributing to Zig Index |
| 2 | + |
| 3 | +Thank you for your interest in contributing to Zig Index! This guide will help you add your Zig project to the registry. |
| 4 | + |
| 5 | +## Adding Your Project |
| 6 | + |
| 7 | +Project submissions are made to the **registry repository**, not this website repository: |
| 8 | + |
| 9 | +📦 **Registry**: https://github.com/Zig-Index/registry |
| 10 | + |
| 11 | +### Prerequisites |
| 12 | + |
| 13 | +Your project should: |
| 14 | +- Be related to the Zig programming language |
| 15 | +- Have a public GitHub repository |
| 16 | +- Include a README with description and usage instructions |
| 17 | +- Have a license file |
| 18 | + |
| 19 | +### Step 1: Fork the Registry |
| 20 | + |
| 21 | +```bash |
| 22 | +git clone https://github.com/YOUR_USERNAME/registry.git |
| 23 | +cd registry |
| 24 | +``` |
| 25 | + |
| 26 | +### Step 2: Create a JSON File |
| 27 | + |
| 28 | +Create a new file in the appropriate directory: |
| 29 | + |
| 30 | +- **Libraries/Packages**: `repositories/packages/your-package.json` |
| 31 | +- **Applications/Tools**: `repositories/applications/your-app.json` |
| 32 | + |
| 33 | +### Step 3: Add Your Project Info |
| 34 | + |
| 35 | +```json |
| 36 | +{ |
| 37 | + "name": "Your Package Name", |
| 38 | + "owner": "github-username", |
| 39 | + "repo": "repository-name", |
| 40 | + "description": "A brief description of what your project does", |
| 41 | + "homepage": "https://your-docs-site.com", |
| 42 | + "license": "MIT", |
| 43 | + "topics": ["networking", "async", "io"] |
| 44 | +} |
| 45 | +``` |
| 46 | + |
| 47 | +#### Required Fields |
| 48 | + |
| 49 | +| Field | Description | |
| 50 | +|-------|-------------| |
| 51 | +| `name` | Display name for your project | |
| 52 | +| `owner` | GitHub username or organization | |
| 53 | +| `repo` | Repository name (not the full URL) | |
| 54 | +| `description` | Short description (max 200 characters recommended) | |
| 55 | + |
| 56 | +#### Optional Fields |
| 57 | + |
| 58 | +| Field | Description | |
| 59 | +|-------|-------------| |
| 60 | +| `homepage` | Documentation or project website URL | |
| 61 | +| `license` | SPDX license identifier (e.g., "MIT", "Apache-2.0") | |
| 62 | +| `topics` | Array of relevant tags for categorization | |
| 63 | + |
| 64 | +### Step 4: Submit a Pull Request |
| 65 | + |
| 66 | +1. Commit your changes |
| 67 | +2. Push to your fork |
| 68 | +3. Open a Pull Request to the registry repository |
| 69 | + |
| 70 | +## Contributing to the Website |
| 71 | + |
| 72 | +For website improvements: |
| 73 | + |
| 74 | +1. Fork https://github.com/Zig-Index/website |
| 75 | +2. Create a feature branch |
| 76 | +3. Make your changes |
| 77 | +4. Submit a Pull Request |
| 78 | + |
| 79 | +### Development Setup |
| 80 | + |
| 81 | +```bash |
| 82 | +# Clone with submodules |
| 83 | +git clone --recurse-submodules https://github.com/Zig-Index/website.git |
| 84 | +cd website |
| 85 | + |
| 86 | +# Install dependencies |
| 87 | +npm install |
| 88 | + |
| 89 | +# Start dev server |
| 90 | +npm run dev |
| 91 | +``` |
| 92 | + |
| 93 | +## Guidelines |
| 94 | + |
| 95 | +### Topics/Tags |
| 96 | + |
| 97 | +Use existing topics when possible. Common ones include: |
| 98 | + |
| 99 | +- `networking`, `async`, `io` - Network and I/O related |
| 100 | +- `gui`, `ui`, `graphics` - User interface |
| 101 | +- `gamedev`, `game-engine` - Game development |
| 102 | +- `compiler`, `parser` - Language tools |
| 103 | +- `database`, `storage` - Data persistence |
| 104 | +- `testing`, `debugging` - Development tools |
| 105 | +- `learning`, `tutorial` - Educational resources |
| 106 | + |
| 107 | +### Description Best Practices |
| 108 | + |
| 109 | +- Keep it concise (under 200 characters) |
| 110 | +- Describe what the project does, not what it is |
| 111 | +- Include key features or use cases |
| 112 | +- Avoid marketing language |
| 113 | + |
| 114 | +## Questions? |
| 115 | + |
| 116 | +- Open an issue on [GitHub](https://github.com/Zig-Index/website/issues) |
| 117 | +- Check the [FAQ](https://zig-index.github.io/how-to-add) |
| 118 | + |
| 119 | +Thank you for contributing to the Zig ecosystem! 🚀 |
0 commit comments