<<<<<<< HEAD
This project is an Express.js backend that proxies GitHub REST & GraphQL APIs for repository management. It supports public and private repositories (via GITHUB_TOKEN), implements many read endpoints, and includes a GraphQL proxy.
- Install dependencies:
npm install - Copy
.env.example->.envand setGITHUB_TOKENif needed. - Run in dev:
npm run dev
API Prefix
cat > README.md << 'EOF'
This project is an Express.js backend that proxies GitHub REST & GraphQL APIs for repository management.
It supports public and private repositories (via GITHUB_TOKEN), implements many read endpoints, and includes a GraphQL proxy.
-
Install dependencies ```bash npm install ```
-
Set up environment variables
Copy .env.example to .env and set your GitHub token if needed:
```bash
cp .env.example .env
```
Example .env:
```env
PORT=5000
GITHUB_TOKEN=ghp_your_personal_access_token_here
```
Use a Classic Personal Access Token with
repo(read-only) scope for private repos.
- Run in development
```bash
npm run dev
```
Server will run at:
http://localhost:5000
All endpoints are available under /api.
```http GET /api/repos/:owner/:repo ```
```http GET /api/repos/:owner/:repo/git/trees/:branch ```
```http GET /api/repos/:owner/:repo/contents/* GET /api/repos/:owner/:repo/contents ```
```http GET /api/repos/:owner/:repo/commits GET /api/repos/:owner/:repo/commits/:sha ```
```http GET /api/repos/:owner/:repo/compare/:base...:head ```
```http GET /api/repos/:owner/:repo/branches GET /api/repos/:owner/:repo/tags ```
```http GET /api/repos/:owner/:repo/releases GET /api/repos/:owner/:repo/releases/latest ```
```http GET /api/repos/:owner/:repo/contributors GET /api/repos/:owner/:repo/collaborators ```
```http GET /api/repos/:owner/:repo/issues GET /api/repos/:owner/:repo/pulls GET /api/repos/:owner/:repo/discussions ```
```http GET /api/repos/:owner/:repo/actions/workflows GET /api/repos/:owner/:repo/actions/runs ```
```http GET /api/repos/:owner/:repo/stats/traffic GET /api/repos/:owner/:repo/stats/participation GET /api/repos/:owner/:repo/stats/code_frequency ```
```http GET /api/repos/:owner/:repo/dependency-graph/sbom GET /api/repos/:owner/:repo/dependabot/alerts ```
```http GET /api/repos/:owner/:repo/events GET /api/repos/:owner/:repo/hooks ```
```http GET /api/repos/:owner/:repo/readme GET /api/repos/:owner/:repo/pages ```
```http GET /api/repos/:owner/:repo/environments GET /api/repos/:owner/:repo/actions/secrets ```
- Private repositories require a token with
repo(read-only) scope. Without it, GitHub returns404 Not Found. - All endpoints automatically use your GitHub token if provided in
.env. - Test endpoints using Postman, cURL, or browser.
- Error handling is implemented for GitHub API failures.
- Combine REST and GraphQL for optimal performance.
- This backend is production-ready, modular, and easily extendable.
e751ed844bdeeb94ba27c1e64002d1c7029895a6