A powerful visualization tool for exploring and understanding repository structures. Built with React, TypeScript, and D3.js, this application provides an interactive graph-based interface to navigate through repository contents, analyze file relationships, and understand code dependencies.
- Interactive repository structure visualization
- Real-time file content preview
- Dynamic node expansion and collapse
- Relationship analysis between files
- Smart dependency detection
- Modern, responsive UI with smooth animations
- GitHub API integration with authentication
- Frontend Framework: React + TypeScript
- Build Tool: Vite
- State Management: Zustand
- Data Visualization: D3.js
- Styling: Tailwind CSS
- API Integration: Octokit
- Development Tools:
- ESLint for code quality
- SWC for fast refresh
- TypeScript for type safety
repository-roadmap/
├── src/
│ ├── components/ # React components
│ │ └── Graph/ # Graph visualization components
│ ├── services/ # API and external service integrations
│ ├── store/ # State management
│ ├── types/ # TypeScript type definitions
│ ├── App.tsx # Main application component
│ └── main.tsx # Application entry point
├── public/ # Static assets
└── [config files] # Project configuration files
- Node.js (v16 or higher)
- npm or yarn
- GitHub account (for API access)
-
Clone the repository:
git clone https://github.com/yourusername/repository-roadmap.git cd repository-roadmap -
Install dependencies:
npm install # or yarn install -
Create a
.envfile in the root directory:VITE_GITHUB_TOKEN=your_github_token
-
Start the development server:
npm run dev # or yarn dev
- Enter a GitHub repository URL in the input field
- The application will fetch and visualize the repository structure
- Interact with the graph:
- Hover over nodes to see details
- Click nodes to expand directories
- Drag nodes to rearrange the layout
- Use mouse wheel to zoom in/out
- Click and drag to pan the view
npm run dev- Start development servernpm run build- Build for productionnpm run lint- Run ESLintnpm run type-check- Run TypeScript type checking
This project uses ESLint with TypeScript support. The configuration includes:
- Type-aware lint rules
- React-specific rules
- Strict TypeScript checking
- Stylistic rules
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- D3.js for visualization capabilities
- Octokit for GitHub API integration
- Vite for the build tooling
- Tailwind CSS for styling