Ruby Orphic CLI
Quick Installation
Add this line to your application's Gemfile:
gem 'orphic'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install orphic
Additional Installation Details
You'll need Ruby and Rubygems installed for the Ruby Orphic CLI to function and develop your own commands or plugins. This is built using the Thor toolkit (Insecure Link!) and Ruby on Rails.
If looking to develop your own front end, check out our rails fork here. You can Get Started with Rails by following the linked guide and for more in-depth tutorials check out Team Tree House.
Basic Guide to a Web Development environment for the Orphic CLI
// TODO
Getting Started
The Orphic CLI runs on both Ruby and NodeJS, and to get started with either we recommend using Brew on Linux and Unix distros (including macOS), or Chocolatey for Windows users. The CLI is currently focused on -nix developer environments, but v2 will focus on Windows PowerShell shortcuts via Chocolatey. With these package managers you can install nvm and rbenv, software that will create environments for any specified version. We recommend Ruby version 2.7.1 and Node version 12 or 14. Google is your friend, and this is a good article for macOS users. If those steps are complete, you can install the gem locally with gem install orphic
.
Developer Installation
Once the steps above are complete, you'll need the Bundler Ruby gem to locally bundle any changes made with gem install bundler
. For more on Bundler and Gemfiles, check out the bundler docs here. To build from source, clone the repo, access the directory and run bundle install
. We strongly recommend using version control before continuing further. You can clone the ruby-orphic-cli repository into your own and once your changes are complete, they can be submitted for review via a Pull Request. If unfamiliar with git, Orphic recommends Git SCM.
macOS
macOS includes a version of ruby and for that reason Orphic recommends using shims via rbenv to maintain a separate development environment. Our codebase is on Ruby 2.7.2, so your mileage may vary, but feel free to submit an Issue for any unexpected outcomes with replicable steps to anticipate the same conclusion.
Example neo commands:
orphic help
This will help you get started, there are currently these commands and subcommands available:
hello
-Uppercase -- Uppercase flag
node
node hello
node help
-tags -- tags option
Command -- (req.) argument
node deploy
-Site -- Site flag
-baseDistrict -- argument
map -- view map commands
map
-createDistrict
map
-viewDistrict
map
-Spools
media
-TYPE -- Type flag
Spools
Paji
posPaji
update_Paji
Cursor
posCursor
GeekCursor
mongoDb
mongo_URL - (req.) argument
Geek
Data
Flash
require Geek
puts "hi from flash"
Example dev commands:
bundle exec exe/orphic help
Publishing the Ruby gem
Start with this doc and your own test ruby gem, you can copy an early branch if you'd like.
This will help you get started:
nano lib/orphic/version.rb
rm *i*
bundler install
gem build
gem publish *i*
Git
Create a new branch with git to something like git branch
.
Example HTTP headers
Request headers
X-Forwarded-For: {IP address}
Cache-control: no-cache
Authorization: {auth token}
User-Agent: {your custom user agent}
Response headers
Access-Control-Allow-Origin: *
X-Frame-Options: deny
Roadmap
Shell Geek
Jekyll Geek
Brew Geek
Chocolatey Geek
Node Geek
BigCommerce Geek
Google Cloud Geek
spools
A spool can be most likened to a volume or book in that threads make up pages, where a spool can ascertain specific locations where Geeks were infantized, using the Paji and Cursor Geeks respectively. Paji specifies for uncommon keywords or commands you may not yet be familiar with, but has been identified as a Cursor Geek by Flash. Flash assists with real-time rendering and ephemeral changes. This creates a perpetual system via Relational and Non-Relational databases, as seen in our example mongoDb doc.
Threads
For each Geek, several inputs could be throughput as-is included with the example Geek. The reason "disc" or the equivalent of a hard-reset/disco is highly recommended, but not required falls on a few reasons:
The map command provides access to infinite tiers of districts, within reason unless things break which is cause to believe unreasonable in scope.
While a mechanism for invoking scope and difference of equation from the original scope of a project (or "District"), custom Districts can invoke their own commands via this CLI which can create interesting effects with APIs.
Districts
To create a District, it is required to have an accessible (via SSL and redirected to SSL) API (Example) which returns a valid JWT, and Orphic Enterprises provides base districts for these factors:
Sprites
Sprites serve as directional input, whether intentional or unintentional, serving a focal point for where all attention has become interest with a beginning state of (0,0).
// TODO
Geek: Declarative
I - Awake - Infant: Codebase
II - Growth - Rookie: Dependencies
III - Discovery - Champion: Config
Flash: Maximum Portability
IV - Trust - Angel: Backing Services
V - Truth - Fallen Angel: Build, Release, Run
VI - Magic - Version: Processes
Paji: Continuous Deployment
VII - Poetry - Distinct: Port Binding
VIII - Drive - Professional: Concurrency
IX - Will - Mega: Disposability
Cursor: Scale Up
X - Loyal - Penultimate: Dev/Prod Parity
XI - Enthusiasm - Ultimate: Logs
XII - Clarity - Awesome: Maximum Portability
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/orphic-inc/ruby-orphic-cli. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Orphic project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.