PHPackages                             pantheon-systems/terminus-repository-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pantheon-systems/terminus-repository-plugin

ActiveTerminus-plugin[Utility &amp; Helpers](/categories/utility)

pantheon-systems/terminus-repository-plugin
===========================================

Pantheon External Repositories Plugin

0.2.35(2mo ago)32.1k↑30%1[3 issues](https://github.com/pantheon-systems/terminus-repository-plugin/issues)[7 PRs](https://github.com/pantheon-systems/terminus-repository-plugin/pulls)MITPHPCI passing

Since Aug 14Pushed 1mo ago4 watchersCompare

[ Source](https://github.com/pantheon-systems/terminus-repository-plugin)[ Packagist](https://packagist.org/packages/pantheon-systems/terminus-repository-plugin)[ RSS](/packages/pantheon-systems-terminus-repository-plugin/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (95)Used By (0)

Terminus Repository Plugin
==========================

[](#terminus-repository-plugin)

[![Early Access](https://camo.githubusercontent.com/fad0df4a45ea3acf1140d2d58284c225b6b31ed724f49a5dfe0cff8781bc3844/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50616e7468656f6e2d4561726c795f4163636573732d79656c6c6f773f6c6f676f3d70616e7468656f6e26636f6c6f723d464644433238)](https://docs.pantheon.io/oss-support-levels#early-access)

This Terminus plugin configure directs integration between individual Pantheon sites and individual GitHub repositories via [Pantheon's GitHub Application](https://docs.pantheon.io/github-application). This plugin will eventually handle direct integration with other Git providers, such as GitLab and Bitbucket.

To set up the GitHub Application this plugin enhance the commands `site:create` and `env:deploy` with additional functionality.

Installation
------------

[](#installation)

To install this plugin using Terminus 3 or later, run the following command:

```
terminus self:plugin:install terminus-repository-plugin

```

Feedback and support
--------------------

[](#feedback-and-support)

Prior to General Availability, support for this plugin is handled directly by the product team instead of our regular support channels. Use the issue queue on this repository to report bugs, request features or provide general feedback.

Using the GitHub Application
----------------------------

[](#using-the-github-application)

### Creating a New Site

[](#creating-a-new-site)

Once the plugin has been installed, you can run `site:create` with additional options to create a site using external version control:

```
terminus site:create    --vcs-provider=github --org=

```

- `vcs-provider`: Specifies where the site repository should be hosted. Current options are `github` or `pantheon`.
- `org`: This parameter is *required* if specifying a `--vcs-provider` other than "pantheon".

Some other options available:

- `visibility`: whether to make the repo "public" or "private" (default: private).
- `region`: Pantheon region for your site.
- `vcs-org`: If you've already set up a Pantheon site and want to create another one with the same Github organization, you can specify that organization using this option.
- `repository-name`: Custom name for the repository (defaults to site name) - Note: Repository names must be 100 characters or less, contain only alphanumeric characters and dashes, and cannot begin or end with a dash.

Once you run this command, the site creation process will start. You will be prompted to install the GitHub Application to be able to manage your external repository. Follow through the steps in the provided GitHub link and once you do that, the site creation process will continue and will eventually create a repository (named after your site name) in the provided GitHub account. On subsequent site creations, you will be able to select the previously configured GitHub account/organization or configure a new one.

### Pull Requests and Multidevs

[](#pull-requests-and-multidevs)

[Multidevs](https://docs.pantheon.io/guides/multidev) are a core product at Pantheon. If your organization has access to Multidevs; you can leverage them through the Application by using Pull Requests in your repository:

- When you create or reopen a Pull Request, a Multidev environment will be created at Pantheon.
- When you update your open Pull Request, the associated Multidev will be updated.
- When you close or merge a Pull Request, the associated Multidev will be deleted.

Please note that initially, sites connect to the GitHub Application won't be subject of the 10 Multidevs limit that we have at Pantheon but we are planning on implementing automatic deletion of dormant Multidevs for these sites.

### Deployment to Test or Live Environments

[](#deployment-to-test-or-live-environments)

This Terminus plugin includes a modified version of the `env:deploy` command; so to deploy to test or live environments.

While having the plugin installed, you can deploy using Terminus as usual. Deploying from the dashboard is not yet supported for sites using the GitHub Application.

### Status and logs of my code pushes

[](#status-and-logs-of-my-code-pushes)

If you want to follow your code pushes; you can do so through the dashboard usual [Workflow Logs](https://docs.pantheon.io/workflow-logs) functionality.

Private Beta
------------

[](#private-beta)

Pantheon's GitHub Application is currently in Private Beta. To get access, fill in [this form](https://forms.gle/GQqrfrkVWd3ghU8j8) and we will contact you soon.

Testing of the plugin itself
----------------------------

[](#testing-of-the-plugin-itself)

This example project includes four testing targets:

- `composer lint`: Syntax-check all php source files.
- `composer cs`: Code-style check.
- `composer unit`: Run unit tests with phpunit

To run all tests together, use `composer test`.

Note that prior to running the tests, you should first run:

- `composer install`

Help
----

[](#help)

Run `terminus help site-create` for help.

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance69

Regular maintenance activity

Popularity26

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 57% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~12 days

Total

43

Last Release

61d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5a89f5f15357797cbd6ec7833a28626478ae3c0ceb5fa1faa8a26d0960584c65?d=identicon)[pantheon-systems](/maintainers/pantheon-systems)

![](https://www.gravatar.com/avatar/c4f54a034246be4669b54689da9a6a57c4fef369c6ef953b01772c798f75e7f6?d=identicon)[kporras07](/maintainers/kporras07)

---

Top Contributors

[![kporras07](https://avatars.githubusercontent.com/u/2217820?v=4)](https://github.com/kporras07 "kporras07 (73 commits)")[![namespacebrian](https://avatars.githubusercontent.com/u/87093053?v=4)](https://github.com/namespacebrian "namespacebrian (20 commits)")[![kaylimepy](https://avatars.githubusercontent.com/u/60446434?v=4)](https://github.com/kaylimepy "kaylimepy (15 commits)")[![stevector](https://avatars.githubusercontent.com/u/211029?v=4)](https://github.com/stevector "stevector (6 commits)")[![iamsumit](https://avatars.githubusercontent.com/u/1046307?v=4)](https://github.com/iamsumit "iamsumit (4 commits)")[![danishyasin33](https://avatars.githubusercontent.com/u/47951155?v=4)](https://github.com/danishyasin33 "danishyasin33 (3 commits)")[![greg-1-anderson](https://avatars.githubusercontent.com/u/612191?v=4)](https://github.com/greg-1-anderson "greg-1-anderson (2 commits)")[![coderkakarrot](https://avatars.githubusercontent.com/u/20449027?v=4)](https://github.com/coderkakarrot "coderkakarrot (2 commits)")[![aamirtiwari](https://avatars.githubusercontent.com/u/90701713?v=4)](https://github.com/aamirtiwari "aamirtiwari (1 commits)")[![KostenetskyiAndrii](https://avatars.githubusercontent.com/u/99037292?v=4)](https://github.com/KostenetskyiAndrii "KostenetskyiAndrii (1 commits)")[![DuncanSchouten](https://avatars.githubusercontent.com/u/12530057?v=4)](https://github.com/DuncanSchouten "DuncanSchouten (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/pantheon-systems-terminus-repository-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/pantheon-systems-terminus-repository-plugin/health.svg)](https://phpackages.com/packages/pantheon-systems-terminus-repository-plugin)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
