{"id":23116762,"url":"https://github.com/iamhectorsosa/octomap","last_synced_at":"2025-07-07T13:33:43.440Z","repository":{"id":268289085,"uuid":"902974220","full_name":"iamhectorsosa/octomap","owner":"iamhectorsosa","description":"🐙 Transform GitHub repositories into structured JSON for LLMs and AI-powered code analysis.","archived":false,"fork":false,"pushed_at":"2024-12-20T16:09:44.000Z","size":4392,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T13:13:58.215Z","etag":null,"topics":["ai","cli","golang","llms"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamhectorsosa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-13T16:51:38.000Z","updated_at":"2025-01-27T20:30:32.000Z","dependencies_parsed_at":"2024-12-15T20:29:49.919Z","dependency_job_id":"64594a8a-17af-4ed2-94df-1ea2afddf01d","html_url":"https://github.com/iamhectorsosa/octomap","commit_stats":null,"previous_names":["iamhectorsosa/octomap"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamhectorsosa%2Foctomap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamhectorsosa%2Foctomap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamhectorsosa%2Foctomap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamhectorsosa%2Foctomap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamhectorsosa","download_url":"https://codeload.github.com/iamhectorsosa/octomap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247105799,"owners_count":20884502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","cli","golang","llms"],"created_at":"2024-12-17T04:17:21.098Z","updated_at":"2025-04-04T01:26:40.198Z","avatar_url":"https://github.com/iamhectorsosa.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Octomap 🐙\n\n![Octomap Demo](./demo.gif)\n\nOctomap is a CLI tool that transforms GitHub repositories into structured JSON, making repository content easily digestible for large language models (LLMs) and AI-powered code analysis.\n\nIdeal for developers and data scientists looking to feed repository data directly into AI tools for code understanding, analysis, or transformation.\n\n## Quick Overview\n\n- **Structured JSON Output**: Convert repositories into JSON for further analysis or processing.\n- **Pipeline Integration**: Use the `--stdout` flag to output results directly to `stdout`, enabling seamless integration with other tools.\n- **Configurable Processing**:\n  - Include or exclude specific file types.\n  - Specify target branches and directories.\n- **Reusable Logic**: Core logic is modularized in the `pkg` directory for easy reuse in other projects.\n\n## Requirements\n\n- Go 1.23.2 or later\n- Git\n\n## Installation\n\n### Using Go Install\n\n```bash\ngo install github.com/iamhectorsosa/octomap@latest\n```\n\nIf you need to skip module proxy, you can use:\n\n```bash\nGOPROXY=direct go install github.com/iamhectorsosa/octomap@latest\n```\n\n### From Source\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/iamhectorsosa/octomap.git\ncd octomap\n```\n\n2. Build the project:\n\n```bash\ngo build -o octomap\n```\n\n3. (Optional) Install the binary:\n\n```bash\ngo install\n```\n\n## Usage\n\n### Basic Usage\n\n```bash\noctomap user/repo\n```\n\nThis command will download the main branch of the specified repository and generate a JSON file with its structure.\n\n### Advanced Options\n\n```bash\n# Specify a different branch\noctomap user/repo --branch develop\n\n# Target a specific directory within the repository\noctomap user/repo --dir src\n\n# Include only specific file types\noctomap user/repo --include .go,.proto\n\n# Exclude specific file types\noctomap user/repo --exclude .mod,.sum\n\n# Specify a custom output directory\noctomap user/repo --output ~/documents\n\n# Print results to `stdout`\noctomap user/repo --stdout\n```\n\n### Flags\n\n- `--dir`: Target directory within the repository\n- `--branch`: Branch to clone (default: main)\n- `--include`: Comma-separated list of included file extensions\n- `--exclude`: Comma-separated list of excluded file extensions\n- `--output`: Output directory for the generated JSON file\n- `--stdout`: Print results to `stdout`. When this flag is used, the `output` flag is ignored.\n\n## Development\n\n### Setup\n\n1. Clone the repository\n2. Install dependencies:\n\n```bash\ngo mod download\n```\n\n### Running Tests\n\n```bash\ngo test ./...\n```\n\n### Building\n\n```bash\ngo build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamhectorsosa%2Foctomap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamhectorsosa%2Foctomap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamhectorsosa%2Foctomap/lists"}