Intelligent GitHub Repository Analyzer - Automatically analyze your GitHub repositories and generate personalized to-dos and assignments to help you resume work on projects you've stepped away from.
- π GitHub Integration: Seamless OAuth authentication for public and private repositories
- π§ Intelligent Analysis: Advanced code analysis with AST parsing for JavaScript, Python, and TypeScript
- π Priority Scoring: Smart prioritization based on multiple factors (urgency, complexity, security)
- π Context-Aware Tasks: Detailed task descriptions with file locations, last activity, and suggested next steps
- π Health Metrics: Repository health tracking (code coverage, technical debt, dependency freshness)
- π Real-time Sync: Configurable intervals for automatic repository updates
- π€ Export & Integration: Export to JSON, CSV, Markdown, and integrate with Trello, Jira, Asana
- π± Responsive Dashboard: Beautiful card-based layout with color-coded health indicators
- π― Task Management: Kanban board and list views with advanced filtering
- π Code Viewer: Inline syntax-highlighted code viewer
- π¨ Theme Support: Light and dark mode
- β‘ Real-time Updates: Live repository status updates
Want a lightweight exe that runs in the corner? (~50MB RAM, ~8MB file)
# 1. Install Rust (one-time): https://rustup.rs/
# 2. Build desktop app
npm run build:desktop:windows # Creates repo-resume.exe
# 3. Run it - minimizes to system tray!
# Find exe in: desktop/src-tauri/target/release/β
Single executable file
β
Runs in system tray with low resources
β
Auto-starts with Windows (optional)
β
Background monitoring and notifications
π See DESKTOP_QUICKSTART.md for full instructions
- Node.js >= 18.0.0
- PostgreSQL 15+ (or use SQLite for development)
- Redis (optional, for background jobs)
- GitHub account
# Clone the repository
git clone <repository-url>
cd AgeisTask
# Copy environment variables
cp .env.example .env
# Edit .env and add your GitHub OAuth credentials
# Get them from: https://github.com/settings/developers
# Start all services
npm run docker:build
npm run docker:up
# Application will be available at:
# Frontend: http://localhost:3000
# Backend: http://localhost:3001# 1. Install dependencies
npm run install:all
# 2. Set up environment variables
cp .env.example .env
# Edit .env with your configuration
# 3. Set up database
cd backend
npm run db:migrate
# 4. Start development servers
cd ..
npm run dev
# Frontend: http://localhost:5173
# Backend: http://localhost:3001- Go to GitHub Developer Settings
- Click "New OAuth App"
- Fill in:
- Application name: RepoResume (or your choice)
- Homepage URL:
http://localhost:5173 - Authorization callback URL:
http://localhost:3001/api/auth/github/callback
- Copy the Client ID and Client Secret
- Add them to your
.envfile
repo-resume/
βββ backend/ # Express.js API server
β βββ src/
β β βββ config/ # Configuration files
β β βββ controllers/ # Route controllers
β β βββ models/ # Database models (Sequelize)
β β βββ services/ # Business logic
β β β βββ github/ # GitHub API integration
β β β βββ analysis/ # Code analysis engine
β β β βββ tasks/ # Task generation
β β βββ utils/ # Utility functions
β β βββ middleware/ # Express middleware
β β βββ jobs/ # Background jobs
β β βββ routes/ # API routes
β βββ tests/ # Test files
β βββ Dockerfile
βββ frontend/ # React + Vite application
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ services/ # API client
β β βββ hooks/ # Custom React hooks
β β βββ context/ # React Context
β β βββ utils/ # Utility functions
β β βββ styles/ # CSS/Tailwind styles
β βββ public/ # Static assets
β βββ Dockerfile
βββ docker-compose.yml # Docker orchestration
The intelligent priority score uses the following formula:
Priority Score =
(Critical Comments Γ 3) +
(Days Since Last Commit Γ 2) +
(Open Issues Count Γ 2) +
(Code Complexity Γ 1.5) +
(Security Vulnerabilities Γ 5) +
(User Custom Priority)
Customize weights in the Settings panel of the application.
Configure automatic repository scanning intervals:
- Minimum: 15 minutes
- Default: 60 minutes
- Maximum: 24 hours
Once the backend is running, access the interactive API documentation:
- Swagger UI:
http://localhost:3001/api-docs
POST /api/auth/github # Initiate GitHub OAuth
GET /api/auth/github/callback # OAuth callback
GET /api/repositories # List all repositories
POST /api/repositories/sync # Sync repositories
GET /api/repositories/:id/tasks # Get tasks for repository
PUT /api/tasks/:id # Update task
POST /api/tasks/:id/complete # Mark task complete
GET /api/export/tasks # Export tasks (JSON/CSV/MD)
# Run all tests
npm test
# Backend tests only
npm run test:backend
# Frontend tests only
npm run test:frontend
# Run with coverage
npm run test:coverageCurrent test coverage: 80%+
The application tracks:
- Code Coverage: Percentage of code covered by tests
- Technical Debt Ratio: Ratio of TODOs/FIXMEs to total code
- Dependency Freshness: How up-to-date your dependencies are
- Documentation Completeness: Presence of README, comments, docs
- Test Reliability Score: Test pass rate and stability
- GitHub tokens stored encrypted in database
- Rate limiting on all API endpoints
- HTTPS enforced in production
- CSRF protection enabled
- Input validation and sanitization
- Regular dependency updates
- Secure session management
Currently supports code analysis for:
- β JavaScript/TypeScript
- β Python
- β Java
- π More coming soon!
- JSON: Complete task data with metadata
- CSV: Spreadsheet-compatible format
- Markdown: Human-readable task lists
- Trello: Create cards from tasks
- Jira: Create issues from tasks
- Asana: Add tasks to projects
- Slack: Notifications for critical issues
- Discord: Team notifications
NODE_ENV=production
DATABASE_URL=postgresql://user:pass@host:5432/db
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
JWT_SECRET=your_jwt_secret_min_32_chars
ENCRYPTION_KEY=your_encryption_key_32_chars
FRONTEND_URL=https://yourdomain.comheroku create your-app-name
heroku addons:create heroku-postgresql:hobby-dev
heroku addons:create heroku-redis:hobby-dev
git push heroku mainUse the provided docker-compose.yml for easy deployment.
backend/: Node.js/Express APIfrontend/: React/Vite SPA- Database: PostgreSQL (SQLite for dev)
- Cache/Queue: Redis (optional)
- Backend: Node.js, Express, Sequelize, Bull
- Frontend: React, Vite, Tailwind CSS, React Query
- Database: PostgreSQL
- Authentication: Passport.js (GitHub OAuth)
- Code Analysis: Babel Parser, AST analysis
- Testing: Jest, React Testing Library, Supertest
- Login: Authenticate with GitHub
- Add Repositories: Select repositories to monitor
- Configure: Set sync intervals and priority weights
- View Dashboard: See all repositories and their health
- Manage Tasks: View, filter, and complete tasks
- Export: Export tasks to your preferred format
- π΄ Critical: Security issues, broken builds
- π‘ High: TODOs, failing tests, outdated deps
- π’ Medium: Code improvements, refactoring
- βͺ Low: Documentation, minor enhancements
We welcome contributions! Please see our Contributing Guide for details on:
- How to submit issues
- How to submit pull requests
- Coding standards
- Development setup
Also, please review our Code of Conduct before participating.
This project is licensed under the MIT License - see the LICENSE file for details.
Database connection failed
# Ensure PostgreSQL is running
sudo service postgresql start
# Or use SQLite by changing DATABASE_URL in .envGitHub OAuth not working
- Verify callback URL matches your OAuth app settings
- Ensure GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET are correct
Port already in use
# Change PORT in .env file or kill existing process
lsof -ti:3001 | xargs kill -9 # Backend
lsof -ti:5173 | xargs kill -9 # FrontendFor issues and questions:
- π§ Email: support@ageis.ai
- π Issues: GitHub Issues
- π¬ Discord: Community Server
Built with β€οΈ for developers who manage multiple projects.
Made with β and π»