English
Community Contributing Guide
Welcome to the MakiMath open-source community! Whether you are fixing bugs, proposing new features, authoring mathematics lectures, or improving bilingual documentation, we appreciate your contributions.
Contribution Workflow
1. Standard Code Contribution Flow
- Fork the Repository: Fork the target repo to your GitHub account:
- Frontend: MakiMath-Frontend
- Backend: MakiMath-Backend
- Documentation: MakiMath-Docs
- Clone Locally:bash
git clone https://github.com/<YOUR_USERNAME>/MakiMath-Frontend.git cd MakiMath-Frontend - Create a Working Branch:bash
git checkout -b feature/interactive-dag-controls # or for bug fixes: git checkout -b fix/editor-save-conflict - Development & Verification:
- Install dependencies with
pnpm install. - Run the local dev server (
pnpm dev) for interactive verification. - Run test suites (
pnpm test) to ensure regressions are caught.
- Install dependencies with
- Commit Changes: Follow the Git Rules & Commit Conventions.
- Push & Open a Pull Request: Push your branch and submit a PR against
mainon the official repository.
Local Development Setup
1. Frontend SPA (maki-math-frontend)
bash
cd maki-math-frontend
pnpm install
pnpm devServes locally at http://localhost:5173.
2. Backend Service (maki-math-backend)
bash
cd maki-math-backend
pnpm install
# Ensure PostgreSQL is running and .env configured
pnpm dev
# Run test suite
pnpm testServes at http://localhost:3000 with native hot-reloading.
3. Documentation Site (maki-math-docs)
bash
cd maki-math-docs
pnpm install
pnpm run docs:dev
# Verify build
pnpm run docs:buildDocumentation dev server runs at http://localhost:5173.
Reporting Issues & Feedback
Before creating an issue, search closed and ongoing issues:
- Bug Reports: Provide minimal reproducible steps, OS, browser version, and terminal/console logs.
- Feature Requests: Outline clear user stories, proposed workflows, and pedagogical benefits.
Code of Conduct
MakiMath fosters an inclusive, professional, and respectful environment:
- Be respectful and constructive during technical reviews and discussions.
- We do not tolerate harassment, discriminatory language, or exclusionary behavior.
- Help us build better open-source tools for mathematical learning.