Giter Site home page Giter Site logo

sammys / terminus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pantheon-systems/terminus

0.0 1.0 0.0 6.42 MB

The Pantheon CLI — a standalone utility for performing operations on the Pantheon Platform

Home Page: https://pantheon.io

License: Other

PHP 86.21% Shell 3.04% Batchfile 0.01% HTML 0.25% Gherkin 10.49%

terminus's Introduction

Terminus

Build Status Dependency Status Coverage Status

Terminus is Pantheon's Command Line Interface (CLI), providing equivalent functionality to the Pantheon Web Dashboard and easier scripting.

If you would like to contribute, pull requests are welcome!

Installation

Requirements:

Once you have at least the requirements installed, you can install Terminus via Composer, cURL, or Git. Additionally, you may want to install the optional software below to enhance your use of Terminus:

Optional but recommended:

  • Drush (Useful to run incompatible-with-Terminus Drush commands)
  • WP-CLI (Useful to run incompatible-with-Terminus WP-CLI commands)
  • Composer
  • Git

####Installing with Composer

The fastest and easiest way to install Terminus is via Composer. Simply run this in your terminal client:

composer require pantheon-systems/terminus

####Installing with cURL

Run this in this in your terminal client:

curl https://github.com/pantheon-systems/terminus/releases/download/0.10.3/terminus.phar -L -o /usr/local/bin/terminus && chmod +x /usr/local/bin/terminus

####Installing with Git To install with Git and use Terminus HEAD, you should clone this repository and run Terminus directly. If you would like to contribute to the Terminus source, this is the way you should install it. You will require Composer for this installation.

  1. Clone the repository. If you plan on contributing to the project, create a fork and clone the fork instead.
cd $HOME
git clone https://github.com/pantheon-systems/terminus.git terminus

Or replace $HOME with the directory to which you would like to install.

  1. Install the Composer dependencies.
cd terminus
composer install

You can now run the bleeding-edge version of Terminus via:

bin/terminus

Optionally, for ease of development, we suggest aliasing or setting the path to this script in your Bash configuration file. This file is located at ~/.bashrc on Linux and ~/.bash_profile on Mac.

alias terminus="$HOME/terminus/bin/terminus"

or

export PATH="$PATH:$HOME/terminus/bin"

Once you source the file or restart your terminal client, you can now make use of Terminus using

terminus

Authentication

To get started with Terminus, you must first authenticate:

terminus auth login
Your email address?: [email protected]
Your dashboard password (input will not be shown)
[1969-07-20 20:18:00] [info] Logging in as [email protected]
[1969-07-21 02:56:00] [info] Saving session data

Tab completion

Terminus also comes with a tab completion script for Bash. Just download terminus-completion.bash and source it from ~/.bash_profile:

source /FULL/PATH/TO/terminus-completion.bash

(Don’t forget to run source ~/.bash_profile afterwards)

Setting default user, site, environment, etc. and Dotenv

Terminus can use certain environment variables to set certain default values when invoking commands. For example, by exporting the environment variable TERMINUS_SITE=<sitename> Terminus will automatically dispatch all commands against that site allowing you to omit the --site=<sitename> in your commands. A list of available environment variables is listed in the .env-sample file.

Terminus also has built-in support for PHP Dotenv, which provides an alternative to manually exporting environment variables. This involves defining environment variables within a .env file that Terminus will automatically use when invoked within that working directory.

Support

Please make ready the steps to reproduce the issue, outputs, pertinent information about your system, and what you believe the correct reaction of the system ought to be. Reporting of issues encountered should happen in one of two ways:

If yours is a problem with Terminus itself:

  1. Search Terminus' issues on GitHub to see whether another user has reported the same issue you are experiencing.
  2. If the problem you are experiencing is not in the issues, you can open a new issue. Please include the helpful information you have gathered.
  3. If you find your problem in an issue, feel free to add your issue information in the comments and/or subscribe to the issue's notifications.

If the problem is with the Pantheon platform:

Head over to your support tickets in the Pantheon Dashboard and submit a new issue ticket. Please include the helpful information you have gathered.

Contributions

Here are steps to follow if you would like to contribute to Terminus:

  1. Fork the repository.
  2. Add your changes. Please add tests as necessary. You can check your syntax for coherence to our standards by running
cd $HOME/terminus
./scripts/lint.sh

And run your tests via:

cd $HOME/terminus
./scripts/test.sh

Please also run the internal documentation generator before committing your changes. This keeps the documentation always up-to-date:

cd $HOME/terminus
php utils/make-docs.php
  1. Open a pull request on GitHub so that we may evaluate and merge your changes.

Credits

  • We have leaned heavily on the work of wp-cli in architecting this command line utility with an object-oriented structure.
  • We've also (obviously) been greatly inspired by Drush.

Further Reading

If you are looking for the precursor to this project, which is now deprecated see https://github.com/pantheon-systems/terminus-deprecated

terminus's People

Contributors

ari-gold avatar bensheldon avatar bmackinney avatar bwood avatar calevans avatar danielbachhuber avatar elliotfriend avatar erik-pantheon avatar greg-1-anderson avatar hengkit avatar honzi avatar hugovk avatar jackfoust avatar jcandan avatar jlicht avatar jonathanporta avatar kibra avatar mikevanwinkle avatar mkudenko avatar nataliejeremy avatar nstielau avatar pirog avatar razzyoshi avatar robloach avatar spleshka avatar stovak avatar tesladethray avatar vincenzo avatar westonruter avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.