Skip to content

aqeelat/reposcoop

Repository files navigation

RepoScoop 📦🔍

Skim GitHub release notes in a single glance.

RepoScoop solves the pain of navigating releases in large repositories—especially monorepos. Paste any GitHub repo URL and get an instant, collapsible view of each package’s versions alongside their release notes, grouped by package name for quick scanning.

Features

  1. Single‑input workflow – one textbox, one button.
  2. Smart grouping – releases organized by detected package name.
  3. Collapsible drill‑down – expand a package to see version tags and full release bodies.
  4. Clean UI – built with daisyUI for modern, accessible components and consistent theming.
  5. Fast performance – client-side processing with efficient caching.
  6. Mobile-friendly – responsive design works on all devices.

Demo

Live Demo (Coming soon)

Try it with these example repositories:

Getting Started

Prerequisites

  • Node.js 18.x or later
  • bun (recommended), npm, pnpm, or yarn

Installation

  1. Clone the repository

    git clone https://github.com/aqeelat/reposcoop.git
    cd reposcoop
  2. Install dependencies

    bun install
    # or
    npm install
    # or
    pnpm install
    # or
    yarn install

Development

Start the development server:

bun run dev

# or start the server and open the app in a new browser tab
bun run dev -- --open

Testing

RepoScoop uses Vitest for unit tests.

# Run all tests
bun test

# Run only unit tests
bun run test:unit

Building for Production

Create a production build:

bun run build

# Preview the production build
bun run preview

Deployment

RepoScoop is configured to deploy to Cloudflare Pages using the @sveltejs/adapter-cloudflare adapter. No additional configuration is needed for basic deployment.

Analytics Configuration

RepoScoop supports Umami analytics for tracking website usage. To enable analytics:

  1. Copy the example environment file:

    cp .env.example .env
  2. Configure your Umami settings in .env:

    # Required: Your Umami website ID
    PUBLIC_UMAMI_WEBSITE_ID=your-website-id-here
    
    # Required: URL to your Umami script
    PUBLIC_UMAMI_SCRIPT_URL=https://your-umami-instance.com/script.js
  3. Rebuild and redeploy the application

The analytics will only load when both PUBLIC_UMAMI_WEBSITE_ID and PUBLIC_UMAMI_SCRIPT_URL are configured. If these variables are not set, no analytics scripts will be loaded.

Project Structure

reposcoop/
├── src/
│   ├── lib/            # Library code
│   │   ├── components/ # UI components
│   │   └── utils/      # Utility functions
│   ├── routes/         # SvelteKit routes
│   │   └── r/          # Repository view pages
│   └── app.css         # Global styles
├── docs/
│   └── architecture/   # Architecture evaluations/ADRs
└── static/             # Static assets

Architecture & ADRs

  • GraphQL Evaluation: docs/architecture/graphql-evaluation.md

How It Works

  1. Input: User enters a GitHub repository URL
  2. Fetching: Application fetches release data from GitHub API
  3. Processing: Releases are grouped by package name using pattern detection
  4. Display: Grouped releases are displayed in a collapsible interface

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •