-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the comprehensive documentation for the COPIMA CLI Crawler - a powerful command-line tool for extracting and crawling data from GitLab instances via GraphQL and REST APIs.
- Quick Start Guide - Get up and running in 5 minutes
- Installation - Detailed installation instructions
- First Crawl - Step-by-step guide to your first data extraction
- Architecture Overview - High-level system architecture
- Four-Step Crawling Process - Understanding the crawling workflow
- API Integration - GraphQL and REST API usage patterns
- Data Flow - How data moves through the system
- Authentication Methods - PAT, OAuth2, and token management
- Configuration System - 5-level configuration hierarchy
- Storage System - JSONL files and hierarchical storage
- Resume Capabilities - Checkpoint and recovery mechanisms
- Progress Reporting - Real-time progress tracking
- Deduplication - Preventing duplicate data writes
- Callbacks & Hooks - Custom data processing
- How-To Guide - Complete beginner-friendly guide for non-technical users
- Command Reference - Complete CLI command documentation
- Authentication Setup - Setting up authentication methods
- Custom Callbacks - Implementing data processing hooks
- Testing - E2E testing and validation
- Examples - Test configurations and usage examples
- GraphQL Client - GitLabGraphQLClient API
- REST Client - GitLabRestClient API
- Storage Manager - Storage and file operations
- Callback Manager - Callback system API
- Development Setup - Setting up development environment
- Contributing Guidelines - How to contribute
- Common Issues - Frequently encountered problems
- Error Messages - Understanding error messages
- Performance Tuning - Optimizing crawl performance
- FAQ - Frequently asked questions
The COPIMA CLI Crawler is designed to systematically extract comprehensive data from GitLab instances. It crawls:
- Groups & Projects - Organizational structure and metadata
- Users - User profiles and information
- Issues & Merge Requests - Development workflow artifacts
- Pipelines - CI/CD execution history
- Repository Data - Commits, branches, tags, and file contents
- Security & Compliance - Vulnerabilities, dependencies, and audit logs
All data is stored in structured JSONL (JSON Lines) format for easy processing and analysis.
# 1. Run interactive setup
copima-cli-crawler setup
# 2. Authenticate with GitLab
copima-cli-crawler auth
# 3. Start crawling
copima-cli-crawler crawlOutput will be saved to ./output directory by default.
- Areas - Gather all accessible groups and projects
- Users - Collect user information
- Resources - Extract issues, MRs, labels, milestones, etc.
- Repository - Crawl commits, branches, tags, and files
- Resume Support - Pause and resume crawls without data loss
- Progress Tracking - Real-time YAML progress reports
- Deduplication - Automatic prevention of duplicate data
- Custom Callbacks - Hook into the data processing pipeline
- Flexible Authentication - PAT tokens or OAuth2 flows
- Hierarchical Storage - Mirror GitLab's group/project structure
- E2E Testing - Built-in test framework for validation
This Wiki follows a modular structure designed for both beginners and advanced users:
- Getting Started - For new users who want to quickly start using the tool
- Architecture - For understanding how the system is designed
- Core Concepts - For deep dives into specific features
- Guides - For task-oriented how-to documentation
- API Reference - For developers integrating or extending the tool
- Development - For contributors and developers
- Troubleshooting - For solving problems and debugging
This project is built with:
- Stricli - CLI framework
- Bun - JavaScript runtime and package manager
- TypeScript - Type-safe JavaScript
- Winston - Logging framework
- Jest - Testing framework
- GraphQL - Primary API interface
- REST API - Secondary API for REST-only resources
Found an error or want to improve the documentation? Contributions are welcome!
- Clone the wiki repository:
git clone https://github.com/pdiegmann/copima-cli-crawler.wiki.git - Edit or add Wiki pages (markdown files)
- Commit and push your changes
- Follow the Contributing Guidelines
This project is licensed under the MIT License. See the LICENSE file for details.
- Changelog - Release notes and version history
- GitHub Repository
- Issue Tracker
Last Updated: 2025-10-20
Wiki Version: 1.1.0