repo-insight-analyzer
v1.0.0
Published
A tool for analyzing repository file structures and metrics
Downloads
72
Maintainers
Readme
📊 Repo Insight Analyzer 🕵️♀️
A powerful TypeScript package for deep repository analysis, providing comprehensive insights into your codebase's structure, composition, and health.
🚀 Features
- 🔍 Comprehensive Repository Analysis
- 💾 Support for GitHub and Local Repositories
- 📈 Detailed File Type Metrics
- 🧹 ESLint Integration
- 📄 Markdown Report Generation
📦 Installation
npm install repo-insight-analyzer
🛠️ Quick Start
Analyzing a GitHub Repository
import { GitHubRepoAnalyzer, ReportGenerator } from 'repo-insight-analyzer';
async function analyzeGitHubRepo() {
// Create an analyzer instance
const analyzer = new GitHubRepoAnalyzer({
token: 'your-github-personal-access-token',
owner: 'username',
repo: 'repository-name'
});
// Analyze the repository
const insights = await analyzer.analyzeRepository();
// Generate a markdown report
const report = ReportGenerator.generateMarkdownReport(insights);
console.log(report);
}
Analyzing a Local Directory
import { analyzeFiles, runEslint, ReportGenerator } from 'repo-insight-analyzer';
async function analyzeLocalRepo() {
// Analyze files in a local directory
const insights = await analyzeFiles('/path/to/your/local/repository');
// Run ESLint on the repository
const lintResults = await runEslint('/path/to/your/local/repository');
// Combine insights
insights.lintResults = lintResults;
// Generate markdown report
const report = ReportGenerator.generateMarkdownReport(insights);
console.log(report);
}
🌟 Key Capabilities
Repository Scanning
- Count total files
- Identify empty files
- Analyze file type distribution
- Comprehensive ESLint integration
Reporting
- Generate detailed markdown reports
- Breakdown of file types
- ESLint error and warning summary
- Flexible output options
🔧 Configuration Options
GitHub Repository Analysis
token
: GitHub Personal Access Tokenowner
: GitHub repository ownerrepo
: Repository namelocalPath
(optional): Custom local clone path
Local Directory Analysis
- Full support for recursive directory scanning
- Configurable file type detection
- ESLint configuration support
💡 Advanced Usage
Custom Report Generation
import { GitHubRepoAnalyzer, ReportGenerator } from 'repo-insight-analyzer';
async function customReportGeneration() {
const analyzer = new GitHubRepoAnalyzer({
token: 'your-token',
owner: 'username',
repo: 'repository-name'
});
const insights = await analyzer.analyzeRepository();
// Generate report with custom output path
ReportGenerator.generateMarkdownReport(
insights,
'/path/to/output/directory'
);
}
🛡️ Requirements
- Node.js 16.0.0 or higher
- TypeScript 4.5.0 or higher
- GitHub Personal Access Token (for GitHub repository analysis)
🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
📜 License
Distributed under the MIT License. See LICENSE
for more information.
🐛 Issues
Report issues on the GitHub Issues page.
🌐 Stay Connected
- Follow us on GitHub
- Star the repository if you find it helpful!