{"id":20540568,"url":"https://github.com/utopia-php/vcs","last_synced_at":"2026-05-13T06:10:32.102Z","repository":{"id":98436360,"uuid":"601093971","full_name":"utopia-php/vcs","owner":"utopia-php","description":"Lite \u0026 fast micro PHP vcs abstraction library that is **easy to use**.","archived":false,"fork":false,"pushed_at":"2025-06-10T15:01:48.000Z","size":354,"stargazers_count":11,"open_issues_count":4,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-13T00:45:17.028Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/utopia-php.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2023-02-13T11:01:45.000Z","updated_at":"2025-06-15T15:02:21.000Z","dependencies_parsed_at":"2023-12-26T16:41:50.025Z","dependency_job_id":"eda97bcc-c56c-497c-91b3-b387929672ec","html_url":"https://github.com/utopia-php/vcs","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/utopia-php/vcs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utopia-php%2Fvcs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utopia-php%2Fvcs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utopia-php%2Fvcs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utopia-php%2Fvcs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/utopia-php","download_url":"https://codeload.github.com/utopia-php/vcs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utopia-php%2Fvcs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269843494,"owners_count":24484115,"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","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-16T01:16:13.870Z","updated_at":"2026-05-13T06:10:32.071Z","avatar_url":"https://github.com/utopia-php.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Utopia VCS\n\n[![Build Status](https://travis-ci.org/utopia-php/vcs.svg?branch=master)](https://travis-ci.com/utopia-php/vcs)\n![Total Downloads](https://img.shields.io/packagist/dt/utopia-php/vcs.svg)\n[![Discord](https://img.shields.io/discord/564160730845151244?label=discord)](https://appwrite.io/discord)\n\nUtopia VCS is a simple and lite library for interacting with version control systems (VCS) in Utopia-PHP using adapters for different providers like GitHub, GitLab etc. This library is aiming to be as simple and easy to learn and use. This library is maintained by the [Appwrite team](https://appwrite.io).\n\n## Getting Started\n\nInstall using composer:\n```bash\ncomposer require utopia-php/vcs\n```\n\nInit in your application:\n```php\n\u003c?php\n\nrequire_once __DIR__ . '/../../vendor/autoload.php';\n\nuse Utopia\\VCS\\Adapter\\Git\\GitHub;\n\n// Initialise your adapter\n$github = new GitHub();\n\n// Your GitHub app private key. You can generate this from your GitHub App settings.\n$privateKey = 'your-github-app-private-key';\n\n// Your GitHub App ID. You can find this in the GitHub App dashboard.\n$githubAppId = 'your-github-app-id';\n\n// Your GitHub App installation ID. You can find this in the GitHub App installation settings.\n$installationId = 'your-github-app-installation-id';\n\n// Initialise variables\n$github-\u003einitializeVariables($installationId, $privateKey, $githubAppId);\n\n// Perform the actions that you want, ex: create repository\n$owner = '\u003crepository-owner\u003e';\n$name = '\u003crepository-name\u003e';\n$isPrivate = true; // Set to false if you want to create a public repository\n$repository = $github-\u003ecreateRepository($owner, $name, $private);\n```\n\n### Environment Variables\nTo configure your GitHub App properly, you'll need to set up the following environment variables in your environment or configuration file. These values are crucial for authenticating and interacting with the GitHub API on behalf of your GitHub App.\n\n1. *PRIVATE_KEY*: You can generate this from your GitHub App settings.\n```bash\nPRIVATE_KEY = your-github-app-private-key\n```\n2. *GITHUB_APP_ID*: You can find this in the GitHub App dashboard.\n```bash\nGITHUB_APP_ID = your-github-app-id\n```\n3. *INSTALLATION_ID*: You can find this in the GitHub App installation settings after installation.\n```bash\nINSTALLATION_ID = your-github-app-installation-id\n```\n\nRemember to replace the placeholders (*your-github-app-private-key*, *your-github-app-id*, and *your-github-app-installation-id*) with the actual values from your GitHub App configuration.\nBy using these environment variables, you can ensure that sensitive information is kept separate from your codebase and can be easily managed across different environments without exposing sensitive data.\n\n### Supported Adapters\n\nVCS Adapters:\n\n| Adapter | Status |\n|---------|---------|\n| GitHub | ✅ |\n| GitLab |  |\n| Bitbucket |  |\n| Azure DevOps |  |\n\n`✅  - supported, 🛠  - work in progress`\n\n## System Requirements\n\nUtopia VCS requires PHP 8.0 or later. We recommend using the latest PHP version whenever possible.\n\n\n## Contributing\n\nAll code contributions - including those of people having commit access - must go through a pull request and approved by a core developer before being merged. This is to ensure proper review of all the code.\n\nFork the project, create a feature branch, and send us a pull request.\n\nYou can refer to the [Contributing Guide](CONTRIBUTING.md) for more info.\n\n## Tests\n\nTo run tests, you first need to bring up the example Docker stack with the following command:\n\n```bash\ndocker compose up -d --build\n```\n\nTo run all unit tests, use the following Docker command:\n\n```bash\ndocker compose exec tests ./vendor/bin/phpunit\n```\n\n## Copyright and license\n\nThe MIT License (MIT) [http://www.opensource.org/licenses/mit-license.php](http://www.opensource.org/licenses/mit-license.php)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futopia-php%2Fvcs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futopia-php%2Fvcs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futopia-php%2Fvcs/lists"}