{"id":20148223,"url":"https://github.com/chainguard-dev/chaingpt","last_synced_at":"2025-09-21T08:31:51.180Z","repository":{"id":255369328,"uuid":"820943701","full_name":"chainguard-dev/chaingpt","owner":"chainguard-dev","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-01T15:15:35.000Z","size":23,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-13T22:36:11.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chainguard-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-06-27T13:43:15.000Z","updated_at":"2024-09-02T11:11:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"09374b77-954c-4cc9-bd91-c6dbc0a74291","html_url":"https://github.com/chainguard-dev/chaingpt","commit_stats":null,"previous_names":["chainguard-dev/chaingpt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainguard-dev%2Fchaingpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainguard-dev%2Fchaingpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainguard-dev%2Fchaingpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chainguard-dev%2Fchaingpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chainguard-dev","download_url":"https://codeload.github.com/chainguard-dev/chaingpt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233731203,"owners_count":18721299,"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":[],"created_at":"2024-11-13T22:35:45.138Z","updated_at":"2025-09-21T08:31:45.866Z","avatar_url":"https://github.com/chainguard-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChainGPT\n\n### Overview\n---\nAn LLM chatbot connected to your GitHub repository of choice. Use ChainGPT to explore directories, read files, execute shell code and more!\n\n### Setup\n---\n\n1. Clone the repository\n```\ngit clone https://github.com/paulgibert/chaingpt.git\n```\n\n2. Run `generate_config.py` and specify your [OpenAI API key](https://platform.openai.com/docs/quickstart?context=python) and [GitHub personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens). The API key is used to access GPT-4 and the token is used for GitHub's API.\n```\ncd chaingpt\npython3 generate_config.py\nYour OpenAI API key: [OPENAI API KEY]\nYour GitHub personal access token: [GITHUB PAT]\nConfiguration successfully generated at .../chaingpt/config.yaml\n```\n\n3. Install the package\n\nGlobally:\n```\npip install .\n```\n\nVirtual Environment:\n```\npip install venv\npython -m venv env\nsource env/bin/activate\npip install .\n```\n\n### Usage\n```\nchaingpt [GITHUB REPO]\n```\n\n### Quickstart\nLet's use ChainGPT to analyze the [Grype](https://github.com/anchore/grype.git) repository.\n\nFollow the setup instructions to install ChainGPT, then launch the application with Grype's URL:\n\n```\npython -m chaingpt https://github.com/anchore/grype.git\nBuilding local Wolfi package index: 100%|█████████████████████████████████████| 2386/2386 [00:10\u003c00:00, 217.06it/s]\n\nWelcome to ChainGPT! Provide a prompt or type `exit` to quit.\nEnter a prompt \u003e |\n```\n\nLet's ask ChainGPT to describe the project:\n\n```\nEnter a prompt \u003e Describe this project.\n📄 Analyzing README.md: What is this project about?\nProcessing large file in chunks: 100%|█████████████████████████████████████████████████| 3/3 [01:18\u003c00:00, 26.23s/it]\n```\n\nChainGPT uses the `file_qa` tool to analyze the `README.md`. The file is large, so ChainGPT processes it in chunks. We receive a response in green:\n\n```\nThe project is about Grype, a customizable vulnerability scanner.\nIt can be configured to exit with an error if any vulnerabilities are\nreported at or above a specified severity level, and can ignore certain\nmatches based on various criteria. Grype can report only vulnerabilities\nthat have a confirmed fix or those that do not have a confirmed fix.\nIt uses a local database to perform vulnerability scans and supports\nshell completion. It can pull images from private registries using\nconfigured credentials and can be configured to access private registries\nwithout the need for a docker daemon. Future plans for Grype include the\ndevelopment of support for allowlist and package mapping.\n```\n\nChainGPT has several tools that allow for powerful repository interactions.\nFeel free to explore!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainguard-dev%2Fchaingpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchainguard-dev%2Fchaingpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchainguard-dev%2Fchaingpt/lists"}