Thank you for your interest in contributing to AI Coding Stack! This document provides guidelines and instructions for contributing to the project.
- Code of Conduct
- How Can I Contribute?
- Development Setup
- Manifest File Guidelines
- Commit Message Conventions
- Pull Request Process
- Community
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
This is the most common and valuable contribution! AI Coding Stack maintains metadata for AI coding tools, models, IDEs, CLIs, and providers in JSON manifest files.
- Check if it exists: Search the manifests directory to see if the tool/model already exists
- Create an issue: Use the Metadata Contribution template
- Gather information: Collect official URLs, documentation, and accurate details
- Submit: Either paste JSON in the issue or create a pull request
- IDEs:
manifests/ides/- Integrated Development Environments (Cursor, Windsurf, etc.) - CLIs:
manifests/clis/- Command-line tools (Claude Code, Codex, etc.) - Extensions:
manifests/extensions/- Editor plugins and extensions - Models:
manifests/models/- Language models (GPT-4, Claude, Gemini, etc.) - Providers:
manifests/providers/- API providers (OpenAI, Anthropic, etc.) - Vendors:
manifests/vendors/- Companies and organizations
Found a bug on the website? Please:
- Search existing issues to avoid duplicates
- Create a bug report using the Bug Report template
- Include details: Browser, OS, steps to reproduce, screenshots
Have an idea for a new feature?
- Search existing feature requests to avoid duplicates
- Create a feature request using the Feature Request template
- Describe the use case and why it would be valuable
Want to contribute code? Great! Please:
- Discuss first: Open an issue to discuss your proposed changes
- Fork the repository: Create your own fork
- Create a branch: Use a descriptive branch name
- Make changes: Follow our coding standards
- Test thoroughly: Ensure all checks pass
- Submit a PR: Use our pull request template
- Node.js: 20.x or higher
- npm: Latest version
- Git: For version control
# Clone the repository
git clone https://github.com/aicodingstack/aicodingstack.io.git
cd aicodingstack.io
# Install dependencies
npm install
# Run validation tests
npm run test:validate
# Generate manifests and metadata
npm run generate:manifests
npm run generate:metadata
# Start development server
npm run devVisit http://localhost:3000 to see the site.
npm run dev- Start development servernpm run build- Build for productionnpm run test:validate- Run repository validation tests (schemas, translations, alignment, etc.)npm run test:urls- Check URL accessibility (networked; CI-oriented)npm run lint- Run ESLintnpm run spell- Run spell checkernpm test- Run tests (if available)
All manifest files must conform to their respective JSON schemas located in manifests/$schemas/. The most common schemas are:
Create a file in manifests/ides/your-ide.json:
{
"name": "Your IDE",
"id": "your-ide",
"vendor": "Your Company",
"description": "A brief description of what makes this IDE unique",
"websiteUrl": "https://example.com",
"docsUrl": "https://docs.example.com",
"latestVersion": "1.0.0",
"platforms": ["Windows", "macOS", "Linux"],
"pricing": {
"model": "freemium",
"free": true
}
}Create a file in manifests/models/your-model.json:
{
"name": "Your Model",
"id": "your-model",
"vendor": "Your Company",
"size": "175B",
"contextWindow": 128000,
"maxOutput": 4096,
"pricing": {
"input": 0.01,
"output": 0.03,
"currency": "USD",
"unit": "1K tokens"
},
"urls": {
"website": "https://example.com",
"documentation": "https://docs.example.com"
}
}name: Official product name (required)id: Lowercase, hyphenated identifier (required, unique)vendor: Company or organization name (required)description: Clear, concise description (required)websiteUrl: Official website (required)docsUrl: Documentation URL (recommended)
size: Model size (e.g., "175B", "70B")contextWindow: Total context window in tokensmaxOutput: Maximum output tokenspricing: Pricing information object
Before submitting, validate your manifest:
# Run validation tests
npm run test:validate
# Validate URLs (networked)
npm run test:urls- Use official sources: Only use information from official documentation
- Keep URLs current: Verify all URLs are accessible
- Be concise: Descriptions should be 1-2 sentences
- Use consistent formatting: Follow existing manifest examples
- One file per tool/model: Don't combine multiple entries
- Check for duplicates: Search before adding new entries
We follow Conventional Commits for clear and meaningful commit messages.
<type>(<scope>): <description>
[optional body]
[optional footer]
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasksperf: Performance improvements
manifest: Manifest file changeside: IDE-related changescli: CLI-related changesmodel: Model-related changesui: UI/UX changesdeps: Dependency updatesci: CI/CD changes
feat(manifest): add Claude Sonnet 4.5 model
fix(ui): correct mobile navigation overflow
docs: update contribution guidelines
chore(deps): update Next.js to 15.1.0- ✅ Fork and create a branch from
main - ✅ Make your changes following the guidelines
- ✅ Validate locally:
npm run test:validate npm run test:urls npm run spell npm run build
- ✅ Commit with conventional commits
- ✅ Update documentation if needed
- Push to your fork
- Create a pull request to the
mainbranch - Fill out the PR template completely
- Link related issues (e.g., "Closes #123")
- Wait for CI checks to pass
- Respond to review feedback promptly
- Automated checks: CI must pass (lint, validate, build)
- Maintainer review: At least 1 approval required
- Response time: We aim to review within 3-5 business days
- Merge: Once approved, maintainers will merge your PR
- Your contribution will be automatically deployed to production
- You'll be listed as a contributor
- Thank you for making AI Coding Stack better! 🎉
- GitHub Discussions: Ask questions
- Issues: Search existing issues
- Documentation: Read the docs
- Watch the repository: Get notified of new releases
- Star the project: Show your support
- Share: Help others discover AI Coding Stack
Contributors are recognized in several ways:
- Listed in GitHub's contributors page
- Mentioned in release notes (for significant contributions)
- Featured in the community (for major features)
If you have questions not covered in this guide:
- Check existing GitHub Discussions
- Search closed issues
- Open a new discussion or issue
Thank you for contributing to AI Coding Stack! Your contributions help developers discover and compare AI coding tools. 🚀