Make Technical Debt Visible, Make Open Source Collaboration Easier
ไธญๆๆๆกฃ ย |ย Quick Start ย |ย Tech Stack ย |ย Contributing
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
- 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
- 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
- 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
Example using SurfSense project

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
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
- 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
- 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
- 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
- Python 3.8 or higher
- Node.js 16 or higher
- GitHub Personal Access Token (for repository scanning)
git clone https://github.com/unitagain/TideScope.git
cd TideScope/TideScope-mainpip install -r requirements.txtcd web
npm install
cd ..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"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"- 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
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# Scan and generate raw data
python -m cli.main scan --config config/tidescope.config.yaml
# Generates tidescope-raw.json# 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# Terminal 1: Start backend API
python -m api.main
# Terminal 2: Start frontend
cd web
npm run devVisit http://localhost:5173 to see the StarMap! ๐
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!
-
๐ฌ 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
-
โ 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
-
๐ง 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
-
๐ป Develop
- Follow existing code style
- Add necessary comments and documentation
- Ensure code runs correctly
-
โ Test Your Changes
# Backend tests python -m pytest # (Test cases to be added) # Frontend tests cd web npm run build # Ensure successful build
-
๐ค 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
-
๐ Code Review and Merge
- Maintainers will review your code
- May suggest some modifications
- Once approved, your PR will be merged! ๐
Please use semantic commit messages:
feat: new featurefix: bug fixdocs: documentation updatestyle: code format (no functional impact)refactor: refactoring (no functional change)perf: performance optimizationtest: add testschore: build/tool related
Examples:
feat: add task filtering by difficulty
fix: fix StarMap node overlap issue
docs: update Chinese README installation instructions- ๐ก 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
TideScope is currently in early stages, and we have many exciting plans:
- ๐ 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
In addition to the StarMap, we plan to add:
-
Timeline View
- X-axis for time, Y-axis for priority
- Show creation, update, close times of Issues/PRs
- Identify long-standing unaddressed technical debt
-
Relationship Network Graph
- Show connections between Issues, PRs, and contributors
- Identify core contributors and key nodes
- Discover potential collaboration opportunities
-
Skill Radar Chart
- Visualize distribution of required skills in the project
- Help new contributors understand what to learn
- Identify team skill gaps
-
Health Dashboard
- Technical debt volume trends
- Issue response time
- PR merge speed
- Contributor activity
- 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
- 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
๐ 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! ๐
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
- 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
- ๐ง Email: [1467673018@qq.com]
- ๐ฌ Discussions: GitHub Discussions
- ๐ Issues: GitHub Issues
If TideScope helps you, please give us a โญ Star!
Let's make open source collaboration better together!
Made with โค๏ธ and โ by TideScope Team
