mirror of
https://github.com/Shineii86/MiruroAPI.git
synced 2026-10-22 10:15:10 +00:00
- Added Contributing Bypass Solutions section (priority) - Added free/open source tool table - Added step-by-step guide for contributors - Added code style examples (headers, section markers, feature markers)
138 lines
3.8 KiB
Markdown
138 lines
3.8 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
# 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, 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`
|
|
|
|
## 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
|
|
|
|
```js
|
|
/*
|
|
* ======= • ======= • ======= • ======= • =======• =======
|
|
* MiruroAPI — filename.js
|
|
* Repository: https://github.com/Shineii86/MiruroAPI
|
|
*
|
|
* @description
|
|
* What this module does.
|
|
*
|
|
* @author Shinei Nouzen
|
|
* @license MIT
|
|
* ======= • ======= • ======= • ======= • =======• =======
|
|
*/
|
|
```
|
|
|
|
### Section Markers
|
|
|
|
```js
|
|
// ══════════════════════════════════════════════════════════════
|
|
// SECTION NAME
|
|
// ══════════════════════════════════════════════════════════════
|
|
```
|
|
|
|
### Feature Markers
|
|
|
|
```js
|
|
// ---- FEATURE: Name ----
|
|
```
|
|
|
|
## Commit Messages
|
|
|
|
Use [Conventional Commits](https://www.conventionalcommits.org/):
|
|
|
|
- `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](https://github.com/ultrafunkamsterdam/nodriver) | Python | `pip install nodriver` |
|
|
| [Camoufox](https://github.com/nicandris/camoufox) | Python | `pip install camoufox` |
|
|
| [curl_cffi](https://github.com/nicandris/curl_cffi) | Python | `pip install curl_cffi` |
|
|
| [patchright](https://github.com/nicandris/patchright) | Python | `pip install patchright` |
|
|
| [Scrape.do](https://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.
|