Contributing to Zmind

Help make Zmind better for everyone! We welcome contributions from the community

Last updated: August 2025

Getting Started

Ready to contribute? Here's how to get your development environment set up:

Ways to Contribute

There are many ways to help improve Zmind:

Bug Reports
Report issues, provide detailed reproduction steps, and help us fix problems
Feature Requests
Suggest new features, improvements, or enhancements to existing functionality
Code Contributions
Submit bug fixes, implement new features, improve performance, or refactor code
Documentation
Improve docs, write tutorials, create examples, or translate content
Design & UX
Improve user interfaces, create designs, or enhance user experience

Development Setup

To set up your local development environment, follow our comprehensive self-hosting guide:

Self-Hosting Guide
Complete setup instructions including prerequisites, API keys, and step-by-step installation

The self-hosting guide covers all prerequisites, dependencies, and configuration needed for development. Once you've completed the setup, you can start contributing to the project.

Code Guidelines

Follow these guidelines to maintain code quality and consistency:

Frontend (TypeScript/React)

  • TypeScript Strict Mode

    Use strict TypeScript, avoid 'any' types, define proper interfaces

  • Component Structure

    Use functional components with hooks, follow naming conventions

  • shadcn/ui Components

    Use shadcn/ui components for consistency, avoid custom CSS when possible

Backend (Python)

  • Type Hints

    Use comprehensive type hints, follow PEP 484 standards

  • FastAPI Patterns

    Follow FastAPI best practices for endpoints, dependencies, and models

  • Error Handling

    Implement proper exception handling with structured error responses

Pull Request Process

Follow these steps when submitting a pull request:

Join the Community

Connect with other contributors and get help with your contributions:

Discord Community
Join our Discord server for real-time discussions and support
GitHub Issues
Report bugs, request features, and other issues