Files
MiruroAPI/CONTRIBUTING.md
T
Shinei Nouzen 78029e369b docs: update README, endpoints, streaming, and contributing docs
- Updated version to 2.3.3, endpoints 46→49, providers 12→14
- Added Direct Embed Providers section to README (megavid, anixo)
- Updated streaming status table with embed alternative
- Updated mermaid architecture diagram with embed flow
- Updated health/stats sample responses with new fields
- Added embed endpoint docs to docs/endpoints.md
- Added Direct Embed section to docs/streaming.md
- Updated CONTRIBUTING.md with embed provider notes
- Added FAQ about direct embed providers
- Updated roadmap with completed items
2026-08-25 07:12:51 +05:30

4.0 KiB

Contributing to MiruroAPI

Thank you for your interest in contributing! Here's how you can help.

Getting Started

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/MiruroAPI.git
  3. Create a branch: git checkout -b feature/amazing-feature
  4. Make your changes
  5. Commit: git commit -m 'feat: add amazing feature'
  6. Push: git push origin feature/amazing-feature
  7. Open a Pull Request

Development Setup

# Install dependencies
npm install

# Start development server
npm run dev

# Server runs on http://localhost:3000

Project Structure

MiruroAPI/
├── server.js              # Express entry point
├── src/
│   ├── helpers/           # AniList, pipe + embed providers, cache integrations
│   └── routes/            # Express routes
├── public/                # Static files (landing page, Swagger UI)
└── docs/                  # API documentation

Adding a New Endpoint

  1. Create helper in src/helpers/yourHelper.js if needed
  2. Add route in src/routes/apiRoutes.js
  3. Update docs/endpoints.md with documentation
  4. Test with curl http://localhost:3000/api/your-endpoint

For streaming endpoints, consider adding direct embed providers (megavid, anixo) in src/helpers/pipe.js — these bypass Cloudflare and work from any environment.

Code Style

  • Use CommonJS (require/module.exports)
  • Add JSDoc comments for new functions
  • Follow existing patterns in the codebase
  • Keep helpers focused on one task

File Headers

/*
 * ======= • ======= • ======= • ======= • =======• =======
 * MiruroAPI — filename.js
 * Repository: https://github.com/Shineii86/MiruroAPI
 *
 * @description
 *   What this module does.
 *
 * @author  Shinei Nouzen
 * @license MIT
 * ======= • ======= • ======= • ======= • =======• =======
 */

Section Markers

// ══════════════════════════════════════════════════════════════
// SECTION NAME
// ══════════════════════════════════════════════════════════════

Feature Markers

// ---- FEATURE: Name ----

Commit Messages

Use Conventional Commits:

  • feat: new feature
  • fix: bug fix
  • docs: documentation changes
  • refactor: code refactoring
  • test: adding tests
  • chore: maintenance

Pull Request Guidelines

  • Keep PRs focused on one feature or fix
  • Update CHANGELOG.md with your changes
  • Test your changes locally before submitting
  • Follow existing code style

Reporting Issues

  • Use GitHub Issues for bug reports
  • Include steps to reproduce
  • Include expected vs actual behavior
  • Include your Node.js version

Contributing Bypass Solutions (Priority)

Streaming endpoints are blocked on cloud platforms. This is the most impactful contribution you can make.

What to Build

Add a new fallback method in src/helpers/pipe.js. The file already has 3 methods (direct, ScraperAPI, FlareSolverr) — add yours as a 4th.

Free/Open Source Options

Tool Language Install
nodriver Python pip install nodriver
Camoufox Python pip install camoufox
curl_cffi Python pip install curl_cffi
patchright Python pip install patchright
Scrape.do HTTP API 1K free credits/mo

Steps

  1. Fork and clone
  2. Add your method in src/helpers/pipe.js
  3. Add your API key/URL to .env.example
  4. Test: curl http://localhost:3000/api/episodes/20
  5. Submit PR

License

By contributing, you agree that your contributions will be licensed under the MIT License.