Skip to content

๐ŸŒŒ Visualize technical debt as an interactive StarMap. AI-powered analysis of GitHub Issues, PRs, and TODOs with intelligent skill extraction and priority scoring.ๅฐ†ๆŠ€ๆœฏๅ€บๅŠกๅฏ่ง†ๅŒ–ไธบไบคไบ’ๅผๆ˜Ÿๅ›พใ€‚ๅŸบไบŽ GitHub ่ฎฎ้ข˜ใ€ๆ‹‰ๅ–่ฏทๆฑ‚๏ผˆPR๏ผ‰ๅŠๅพ…ๅŠžไบ‹้กน๏ผˆTODO๏ผ‰็š„ AI ้ฉฑๅŠจๅˆ†ๆž๏ผŒๅ…ผๅ…ทๆ™บ่ƒฝๆŠ€่ƒฝๆๅ–ไธŽไผ˜ๅ…ˆ็บง่ฏ„ๅˆ†ๅŠŸ่ƒฝใ€‚

Notifications You must be signed in to change notification settings

unitagain/TideScope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

IMG_20251120_191504

TideScope Logo

Make Technical Debt Visible, Make Open Source Collaboration Easier

ไธญๆ–‡ๆ–‡ๆกฃ ย |ย  Quick Start ย |ย  Tech Stack ย |ย  Contributing


๐Ÿ’ซ Our Mission

As a beginner, have you ever found an open source project that interests you, but struggled to figure out what you could contribute? Where to start?

As an open source project maintainer, have you ever felt overwhelmed by the flood of PRs and Issues, unsure how to prioritize tasks and manage technical debt?

TideScope is inspired by star maps. By scanning GitHub repositories for Issues, PRs, and TODO comments in code, combined with LLM-powered intelligent analysis to extract required skills and difficulty assessments, it generates an intuitive Technical Debt StarMap. Each task appears as a star, distributed in a polar coordinate system by importance from center to edge, with related PR-Issue pairs forming constellation-like visual clusters.

Through this innovative visualization approach, we aim to help:

  • ๐ŸŒฑ New contributors quickly find tasks matching their skill level
  • ๐ŸŽฏ Project maintainers gain a clear overview of technical debt at a glance
  • ๐Ÿค Team collaboration become more efficient, transparent, and organized

โœจ Core Features

๐ŸŒŒ StarMap Visualization

  • Ranking-Based Golden Angle Spiral Layout - Mathematically optimized distribution algorithm ensures uniform node placement
  • Force-Directed Anti-Overlap Mechanism - Intelligent repulsion algorithm prevents node collisions, keeping the chart clear
  • Constellation-Style Clustering - PRs and Issues automatically form tight constellation groups, intuitively showing relationships
  • Gradient Glow Effects - Modern visual design optimized for dark themes

๐Ÿง  Intelligent Analysis

  • LLM Skill Extraction - Automatically analyzes required tech stacks and skill points for each task
  • Multi-Dimensional Scoring - Comprehensive assessment of priority, difficulty, impact scope, and risk level
  • Smart Recommendations - Generates targeted implementation suggestions for each task
  • Automatic Context - Automatically fetches project README as analysis background

๐ŸŽฏ Developer Friendly

  • One-Click Scanning - Supports both local code and remote GitHub repositories
  • Flexible Configuration - YAML config files for easy customization of scan rules
  • Dual Interface - Web UI + CLI command line to meet different use cases

๐Ÿ–ผ๏ธ Demo

StarMap View

Example using SurfSense project QQ_1763474452961 image

StarMap Features:

  • ๐ŸŽฏ Important tasks in the center circle, priority decreases outward
  • ๐ŸŒŸ Golden lines connect related PRs and Issues, forming "constellations"
  • ๐Ÿ” Hover for details: title, skills, difficulty, recommendations
  • ๐ŸŽจ Glow effects and animations enhance visual experience
  • ๐ŸŒ€ Golden angle spiral distribution, nodes evenly fill the entire space

Task Detail Assessment

Intelligent analysis example

Assessment Content:

  • ๐Ÿ“Š Priority: Auto-calculated (based on labels, update time, relevance)
  • ๐ŸŽ“ Required Skills: LLM auto-extraction (e.g., Docker, Authentication, Database, Backend)
  • ๐Ÿ“ˆ Difficulty: Smart assessment (1-5 scale)
  • ๐Ÿ’ก Recommendations: Specific implementation steps and considerations
  • ๐Ÿ”— Related: Auto-identify related PRs and discussions

๐Ÿ› ๏ธ Tech Stack

Backend

  • Python 3.8+ - Core programming language
  • FastAPI - High-performance REST API framework
  • Typer - Elegant CLI tool builder
  • OpenAI / Deepseek API - LLM intelligent analysis (supports multiple models)
  • PyGithub - GitHub API interaction

Frontend

  • React 18 - Modern UI framework
  • TypeScript - Type-safe development experience
  • Apache ECharts - Powerful visualization library (polar coordinate charts)
  • Ant Design - Enterprise-level UI components
  • Vite - Fast build tool

Core Algorithms

  • Golden Angle Spiral Layout (137.5ยฐ) - Nature's optimal distribution algorithm
  • Square Root Radius Mapping - Solves sparse outer ring and crowded inner ring issues
  • Force-Directed Anti-Overlap - Real-time collision detection and repulsion
  • Anti-Collinearity Force - Prevents nodes from being too regularly arranged

๐Ÿš€ Quick Start

Requirements

  • Python 3.8 or higher
  • Node.js 16 or higher
  • GitHub Personal Access Token (for repository scanning)

1. Clone the Project

git clone https://github.com/unitagain/TideScope.git
cd TideScope/TideScope-main

2. Install Backend Dependencies

pip install -r requirements.txt

3. Install Frontend Dependencies

cd web
npm install
cd ..

4. Configure Environment Variables

GitHub Token

Get Token: Visit GitHub Settings โ†’ Developer settings โ†’ Personal access tokens

# Windows PowerShell
$env:GITHUB_TOKEN="ghp_your_github_token_here"

# Linux / macOS
export GITHUB_TOKEN="ghp_your_github_token_here"

LLM API Configuration (Optional but Recommended)

If you need intelligent analysis features:

# Use Deepseek (Recommended, cost-effective)
$env:OPENAI_API_KEY="sk-your-deepseek-key"
$env:OPENAI_BASE_URL="https://api.deepseek.com/v1"

# Or use OpenAI
$env:OPENAI_API_KEY="sk-your-openai-key"
$env:OPENAI_BASE_URL="https://api.openai.com/v1"

โš ๏ธ Important Note: About LLM API

  • Free OpenAI API Limitations: Free tier usually has strict rate limits (3 requests per minute), which can cause incomplete analysis when scanning large projects
  • Recommended: Use Deepseek: API format fully compatible with OpenAI, very affordable pricing (about 1/10 of OpenAI), more relaxed rate limits
  • Or Upgrade to OpenAI Paid: Get higher rate limits and better experience
  • Can Also Skip LLM: Skip intelligent analysis step, still can generate rule-based StarMap

5. Configure Scan Target

Edit config/tidescope.config.yaml:

repository_path: ..  # Local code path
include_extensions:
  - .py
  - .ts
  - .tsx
  - .js
  - .jsx
mode: deep  # deep: scan code; quick: GitHub only

github:
  owner: OWNER_NAME     # Repository owner
  repo: REPO_NAME       # Repository name
  token_env: GITHUB_TOKEN

6. Run Scan

# Scan and generate raw data
python -m cli.main scan --config config/tidescope.config.yaml

# Generates tidescope-raw.json

7. Analyze Data (Using LLM)

# Use LLM for intelligent analysis
python -m cli.main analyze \
  --scan-result tidescope-raw.json \
  --output tidescope-report.json \
  --use-llm

# Generates tidescope-report.json

8. Launch Web UI

# Terminal 1: Start backend API
python -m api.main

# Terminal 2: Start frontend
cd web
npm run dev

Visit http://localhost:5173 to see the StarMap! ๐ŸŒŸ


๐Ÿค Contributing

We warmly welcome all forms of contributions! Whether you:

  • ๐Ÿ› Found a bug
  • ๐Ÿ’ก Have a new feature idea
  • ๐Ÿ“ Want to improve documentation
  • ๐ŸŽจ Optimize UI/UX
  • ๐Ÿงช Add test cases

You can participate in TideScope's development!

Contribution Process

  1. ๐Ÿ’ฌ Discuss Your Idea First

    • Before submitting code, please create an Issue
    • Describe your idea, problem encountered, or improvement suggestions
    • Wait for project maintainers to respond and discuss feasibility
  2. โœ… Start Development After Being Assigned

    • After the Issue discussion is approved, maintainers will assign the Issue to you
    • This indicates you can start implementing the feature or fix
    • Avoids duplicate work and ensures work has a clear direction
  3. ๐Ÿ”ง Fork and Create Branch

    # Fork this repository to your account
    # Then clone your fork
    git clone https://github.com/unitagain/TideScope.git
    cd TideScope/TideScope-main
    
    # Create feature branch
    git checkout -b feature/your-feature-name
    # Or fix branch
    git checkout -b fix/bug-description
  4. ๐Ÿ’ป Develop

    • Follow existing code style
    • Add necessary comments and documentation
    • Ensure code runs correctly
  5. โœ… Test Your Changes

    # Backend tests
    python -m pytest  # (Test cases to be added)
    
    # Frontend tests
    cd web
    npm run build  # Ensure successful build
  6. ๐Ÿ“ค Submit Pull Request

    git add .
    git commit -m "feat: added xxx feature"
    # or
    git commit -m "fix: fixed xxx issue"
    
    git push origin feature/your-feature-name

    Then create a Pull Request on GitHub:

    • Clearly describe what you did
    • Link related Issue (use Fixes #123)
    • If there are UI changes, attach screenshots
  7. ๐Ÿ”„ Code Review and Merge

    • Maintainers will review your code
    • May suggest some modifications
    • Once approved, your PR will be merged! ๐ŸŽ‰

Commit Message Convention

Please use semantic commit messages:

  • feat: new feature
  • fix: bug fix
  • docs: documentation update
  • style: code format (no functional impact)
  • refactor: refactoring (no functional change)
  • perf: performance optimization
  • test: add tests
  • chore: build/tool related

Examples:

feat: add task filtering by difficulty
fix: fix StarMap node overlap issue
docs: update Chinese README installation instructions

Development Suggestions

  • ๐Ÿ’ก Small Commits: Break features into small, testable parts
  • ๐Ÿ“– Sync Docs: Keep code and documentation in sync
  • ๐ŸŽฏ Stay Focused: One PR should do one thing
  • ๐Ÿค Active Communication: Feel free to discuss in Issues

๐ŸŽฏ Future Development Goals

TideScope is currently in early stages, and we have many exciting plans:

Near-term Goals (v0.2 - v0.3)

๐Ÿ“ฑ One-Click Generation Website

  • ๐ŸŒ Online Service: Provide a website where users simply input a GitHub repository URL to generate StarMaps online
  • โšก Real-time Analysis: No local installation needed, view results directly in browser
  • ๐Ÿ”— Shareable Links: Generate shareable StarMap links for easy team collaboration
  • ๐Ÿ“Š Historical Records: Track changes in project technical debt over time

Technical Approach:

  • Backend: Cloud functions + message queue to process scan tasks
  • Frontend: Static deployment, dynamic data loading
  • Storage: GitHub repository data caching to avoid repeated requests

๐ŸŽจ More Visualization Views

In addition to the StarMap, we plan to add:

  1. Timeline View

    • X-axis for time, Y-axis for priority
    • Show creation, update, close times of Issues/PRs
    • Identify long-standing unaddressed technical debt
  2. Relationship Network Graph

    • Show connections between Issues, PRs, and contributors
    • Identify core contributors and key nodes
    • Discover potential collaboration opportunities
  3. Skill Radar Chart

    • Visualize distribution of required skills in the project
    • Help new contributors understand what to learn
    • Identify team skill gaps
  4. Health Dashboard

    • Technical debt volume trends
    • Issue response time
    • PR merge speed
    • Contributor activity

Mid-term Goals (v0.4 - v0.6)

๐Ÿค– AI Assistant Features

  • Smart Recommendations: Recommend suitable tasks based on user skills and experience
  • Auto-Assignment: AI-assisted Issue assignment to appropriate developers
  • Risk Alerts: Identify high-risk, long-standing technical debt

๐Ÿ”— Integrations and Extensions

  • GitHub App: One-click installation, automatic repository data sync
  • Slack/Discord Bot: Team notifications and quick queries
  • VS Code Extension: View project StarMap within IDE
  • CI/CD Integration: Auto-assess technical debt impact in PRs

Long-term Vision

๐ŸŒ Become the Standard Tool for Open Source Collaboration

  • Help developers worldwide participate in open source projects more efficiently
  • Lower the barrier to open source contributions
  • Make technical debt management intuitive and fun

๐Ÿ’ก We Need Your Participation!

Achieving these goals requires community strength. Whether you're skilled in:

  • Frontend development (React, ECharts)
  • Backend development (Python, FastAPI)
  • Algorithm optimization (visualization layouts)
  • UI/UX design
  • Documentation writing
  • Test case development

You're welcome to join us!

Let's create better open source collaboration tools together! ๐Ÿš€


๐Ÿ“š Project Structure

TideScope-main/
โ”œโ”€โ”€ analyzer/              # Analysis engine
โ”‚   โ”œโ”€โ”€ builder.py         # Build analysis reports
โ”‚   โ”œโ”€โ”€ llm_client.py      # LLM API client
โ”‚   โ”œโ”€โ”€ models.py          # Data models
โ”‚   โ”œโ”€โ”€ rules.py           # Scoring rules
โ”‚   โ””โ”€โ”€ star_map.py        # StarMap coordinate calculation
โ”œโ”€โ”€ scanner/               # Scanners
โ”‚   โ”œโ”€โ”€ github/            # GitHub API client
โ”‚   โ”œโ”€โ”€ code/              # Code TODO scanner
โ”‚   โ”œโ”€โ”€ models.py          # Scan data models
โ”‚   โ””โ”€โ”€ runner.py          # Scan orchestration
โ”œโ”€โ”€ api/                   # REST API
โ”‚   โ””โ”€โ”€ main.py            # FastAPI application
โ”œโ”€โ”€ cli/                   # Command-line tool
โ”‚   โ””โ”€โ”€ main.py            # Typer CLI
โ”œโ”€โ”€ web/                   # Frontend application
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/    # React components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Logo.tsx   # Logo component
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ AppLayout.tsx
โ”‚   โ”‚   โ””โ”€โ”€ pages/
โ”‚   โ”‚       โ””โ”€โ”€ StarMapPage.tsx  # StarMap page
โ”‚   โ””โ”€โ”€ public/            # Static assets
โ”‚       โ”œโ”€โ”€ logo-option-1.svg
โ”‚       โ””โ”€โ”€ favicon.svg
โ”œโ”€โ”€ config/                # Configuration templates
โ”‚   โ”œโ”€โ”€ tidescope.config.yaml
โ”‚   โ””โ”€โ”€ surfsense.config.yaml
โ””โ”€โ”€ docs/                  # Documentation

๐Ÿ™ Acknowledgments

  • Thanks to all developers who contributed to TideScope
  • Logo design inspired by Vercel, Next.js, Tailwind CSS
  • StarMap layout algorithm references nature's golden angle spiral distribution
  • Thanks to the ECharts team for their powerful visualization library

๐Ÿ“ž Contact Us


If TideScope helps you, please give us a โญ Star!

Let's make open source collaboration better together!


Made with โค๏ธ and โ˜• by TideScope Team

About

๐ŸŒŒ Visualize technical debt as an interactive StarMap. AI-powered analysis of GitHub Issues, PRs, and TODOs with intelligent skill extraction and priority scoring.ๅฐ†ๆŠ€ๆœฏๅ€บๅŠกๅฏ่ง†ๅŒ–ไธบไบคไบ’ๅผๆ˜Ÿๅ›พใ€‚ๅŸบไบŽ GitHub ่ฎฎ้ข˜ใ€ๆ‹‰ๅ–่ฏทๆฑ‚๏ผˆPR๏ผ‰ๅŠๅพ…ๅŠžไบ‹้กน๏ผˆTODO๏ผ‰็š„ AI ้ฉฑๅŠจๅˆ†ๆž๏ผŒๅ…ผๅ…ทๆ™บ่ƒฝๆŠ€่ƒฝๆๅ–ไธŽไผ˜ๅ…ˆ็บง่ฏ„ๅˆ†ๅŠŸ่ƒฝใ€‚

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published