├── lib ├── faststrap │ ├── version.rb │ ├── install_actions │ │ ├── lcov_install_action.rb │ │ ├── git_install_action.rb │ │ ├── carthage_install_action.rb │ │ ├── xctool_install_action.rb │ │ ├── jenkins_install_action.rb │ │ ├── fastlane_install_action.rb │ │ ├── xcode_cmd_tools_install_action.rb │ │ ├── cocoapods_install_action.rb │ │ ├── bash_completion_install_action.rb │ │ ├── homebrew_install_action.rb │ │ ├── calabash_bundle_install_action.rb │ │ └── install_actions_helper.rb │ └── install_action.rb └── faststrap.rb ├── spec ├── spec_helper.rb └── install_actions_helper_spec.rb ├── tasks └── rspec.rake ├── assets ├── faststrapios.png └── faststrapclean.png ├── bin └── faststrap ├── Gemfile ├── .rspec ├── Rakefile ├── .travis.yml ├── .gitignore ├── LICENSE ├── faststrap.gemspec └── README.md /lib/faststrap/version.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | VERSION = '0.0.8' 3 | end 4 | -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | require 'coveralls' 2 | Coveralls.wear! 3 | 4 | require 'faststrap' 5 | -------------------------------------------------------------------------------- /tasks/rspec.rake: -------------------------------------------------------------------------------- 1 | require 'rspec/core/rake_task' 2 | 3 | RSpec::Core::RakeTask.new(:spec) 4 | -------------------------------------------------------------------------------- /assets/faststrapios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thiagolioy/faststrap/HEAD/assets/faststrapios.png -------------------------------------------------------------------------------- /bin/faststrap: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'faststrap' 4 | 5 | Faststrap::Bootstrap.start 6 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # Specify your gem's dependencies in .gemspec 4 | gemspec 5 | -------------------------------------------------------------------------------- /assets/faststrapclean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thiagolioy/faststrap/HEAD/assets/faststrapclean.png -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | require 'rspec/core/rake_task' 2 | 3 | RSpec::Core::RakeTask.new(:spec) 4 | 5 | --require spec_helper 6 | --color 7 | --format d 8 | -------------------------------------------------------------------------------- /spec/install_actions_helper_spec.rb: -------------------------------------------------------------------------------- 1 | describe Faststrap do 2 | describe Faststrap::InstallActions do 3 | 4 | it ".load_default_actions" do 5 | expect(Faststrap::InstallActions.load_default_actions.count).to be > 1 6 | end 7 | 8 | 9 | 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'bundler/gem_tasks' 2 | require 'rubocop/rake_task' 3 | 4 | Dir.glob('tasks/**/*.rake').each(&method(:import)) 5 | 6 | desc 'Execute RuboCop static code analysis' 7 | RuboCop::RakeTask.new(:rubocop) do |t| 8 | t.patterns = %w(bin lib) 9 | t.fail_on_error = false 10 | end 11 | 12 | task :default => :spec 13 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | before_install: gem update --system 3 | rvm: 4 | - 2.0.0 5 | deploy: 6 | provider: rubygems 7 | api_key: 8 | secure: jqkhYZOw8pBREElj/TxjjgsmxnlS9Ld3M8VNE24hWLSMDu5uu9leK/GBI0dV42wdWk6LZhzwZTtpVJYQihQwFocyQO56CIaFNIkYUJ9N+6ATV7G1JFagLzov4cNXnYWbs4GqQ2oi/g2F6jUBlDpKbwDYQesBmBh7wGTeRDyYIW4= 9 | on: 10 | tags: true 11 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/lcov_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class LcovInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::TESTS 7 | end 8 | 9 | def self.description 10 | "Install lcov" 11 | end 12 | def self.cmd 13 | Faststrap::InstallActions.brew_install "lcov" 14 | end 15 | 16 | def self.ucmd 17 | Faststrap::InstallActions.brew_uninstall "lcov" 18 | end 19 | 20 | def self.name 21 | "lcov" 22 | end 23 | 24 | def self.installed? 25 | Faststrap::InstallActions.cmd? "lcov" 26 | end 27 | end 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/git_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class GitInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::COMAND_LINE 7 | end 8 | 9 | 10 | def self.description 11 | "Install Git" 12 | end 13 | def self.cmd 14 | Faststrap::InstallActions.brew_install "git" 15 | end 16 | 17 | def self.ucmd 18 | Faststrap::InstallActions.brew_uninstall "git" 19 | end 20 | 21 | def self.name 22 | "Git" 23 | end 24 | 25 | def self.installed? 26 | Faststrap::InstallActions.cmd? "git" 27 | end 28 | 29 | end 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/carthage_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class CarthageInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::INSTALLERS 7 | end 8 | 9 | def self.description 10 | "Install Carthage" 11 | end 12 | def self.cmd 13 | Faststrap::InstallActions.brew_install "carthage" 14 | end 15 | 16 | def self.ucmd 17 | Faststrap::InstallActions.brew_uninstall "carthage" 18 | end 19 | 20 | def self.name 21 | "Carthage" 22 | end 23 | 24 | def self.installed? 25 | Faststrap::InstallActions.cmd? "carthage" 26 | end 27 | end 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/xctool_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class XctoolInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::TESTS 7 | end 8 | 9 | def self.description 10 | "Install Xctool" 11 | end 12 | 13 | def self.cmd 14 | Faststrap::InstallActions.brew_install "xctool" 15 | end 16 | 17 | def self.ucmd 18 | Faststrap::InstallActions.brew_uninstall "xctool" 19 | end 20 | 21 | def self.name 22 | "xctool" 23 | end 24 | 25 | def self.installed? 26 | Faststrap::InstallActions.cmd? "xctool" 27 | end 28 | 29 | end 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/jenkins_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class JenkinsInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::CI 7 | end 8 | 9 | 10 | def self.description 11 | "Install Jenkins CI" 12 | end 13 | def self.cmd 14 | Faststrap::InstallActions.brew_install "jenkins" 15 | end 16 | 17 | def self.ucmd 18 | Faststrap::InstallActions.brew_uninstall "jenkins" 19 | end 20 | 21 | def self.name 22 | "Jenkins" 23 | end 24 | 25 | def self.installed? 26 | Faststrap::InstallActions.cmd? "jenkins" 27 | end 28 | 29 | end 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/fastlane_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class FastlaneInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::CI 7 | end 8 | 9 | 10 | def self.description 11 | "Install Fastlane" 12 | end 13 | def self.cmd 14 | Faststrap::InstallActions.gem_install "fastlane" 15 | end 16 | 17 | def self.ucmd 18 | Faststrap::InstallActions.gem_uninstall "fastlane" 19 | end 20 | 21 | def self.name 22 | "Fastlane" 23 | end 24 | 25 | def self.installed? 26 | Faststrap::InstallActions.cmd? "fastlane" 27 | end 28 | 29 | end 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | *.rbc 3 | /.config 4 | /coverage/ 5 | /InstalledFiles 6 | /pkg/ 7 | /spec/reports/ 8 | /test/tmp/ 9 | /test/version_tmp/ 10 | /tmp/ 11 | 12 | ## Specific to RubyMotion: 13 | .dat* 14 | .repl_history 15 | build/ 16 | 17 | ## Documentation cache and generated files: 18 | /.yardoc/ 19 | /_yardoc/ 20 | /doc/ 21 | /rdoc/ 22 | 23 | ## Environment normalisation: 24 | /.bundle/ 25 | /vendor/bundle 26 | /lib/bundler/man/ 27 | 28 | # for a library or gem, you might want to ignore these files since the code is 29 | # intended to run in multiple environments; otherwise, check them in: 30 | Gemfile.lock 31 | .ruby-version 32 | .ruby-gemset 33 | 34 | # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: 35 | .rvmrc 36 | 37 | deploy.apikey 38 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/xcode_cmd_tools_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class XcodeCmdToolsInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::COMAND_LINE 7 | end 8 | 9 | def self.description 10 | "Install Xcode cmd line tools" 11 | end 12 | def self.cmd 13 | system 'xcode-select --install' 14 | end 15 | 16 | def self.ucmd 17 | `sudo rm -rf /Library/Developer/CommandLineTools` 18 | end 19 | 20 | def self.name 21 | "XcodeCmdTools" 22 | end 23 | 24 | def self.installed? 25 | `xcode-select -p` 26 | $?.success? 27 | end 28 | end 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/cocoapods_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class CocoapodsInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::INSTALLERS 7 | end 8 | 9 | 10 | def self.description 11 | "Install Cocoapods" 12 | end 13 | def self.cmd 14 | Faststrap::InstallActions.gem_install "cocoapods" 15 | system 'pod setup' 16 | end 17 | 18 | def self.ucmd 19 | Faststrap::InstallActions.gem_uninstall "cocoapods" 20 | end 21 | 22 | def self.name 23 | "Cocoapods" 24 | end 25 | 26 | def self.installed? 27 | Faststrap::InstallActions.cmd? "cocoapods" 28 | end 29 | 30 | end 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/bash_completion_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class BashCompletionInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::COMAND_LINE 7 | end 8 | 9 | def self.description 10 | "Install bash-completion cmd using homebrew" 11 | end 12 | 13 | def self.cmd 14 | Faststrap::InstallActions.brew_install "bash-completion" 15 | end 16 | 17 | def self.ucmd 18 | Faststrap::InstallActions.brew_uninstall "bash-completion" 19 | end 20 | 21 | def self.name 22 | "bash-completion" 23 | end 24 | 25 | def self.installed? 26 | Faststrap::InstallActions.cmd? "bash-completion" 27 | end 28 | 29 | 30 | end 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/homebrew_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class HomebrewInstallAction < InstallAction 4 | 5 | def self.group 6 | Faststrap::ActionsGroup::INSTALLERS 7 | end 8 | 9 | 10 | def self.description 11 | "Install Homebrew" 12 | end 13 | def self.cmd 14 | system 'ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"' 15 | end 16 | 17 | 18 | def self.ucmd 19 | system 'ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"' 20 | end 21 | 22 | def self.name 23 | "Homebrew" 24 | end 25 | 26 | def self.installed? 27 | Faststrap::InstallActions.cmd? "brew" 28 | end 29 | end 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /lib/faststrap/install_action.rb: -------------------------------------------------------------------------------- 1 | require 'faststrap/install_actions/install_actions_helper' 2 | 3 | module Faststrap 4 | module ActionsGroup 5 | INSTALLERS = "INSTALLERS" 6 | COMAND_LINE = "COMAND_LINE" 7 | TESTS = "TESTS" 8 | CI = "CI" 9 | end 10 | class InstallAction 11 | 12 | def self.group 13 | "" 14 | end 15 | 16 | def self.description 17 | "InstallAction description" 18 | end 19 | 20 | 21 | def self.cmd 22 | "InstallAction cmd" 23 | end 24 | 25 | def self.ucmd 26 | "UninstallAction cmd" 27 | end 28 | 29 | def self.name 30 | "InstallAction" 31 | end 32 | 33 | def self.run 34 | puts "Installing #{name} .." 35 | cmd 36 | end 37 | 38 | def self.uninstall 39 | puts "Uninstalling #{name} .." 40 | ucmd 41 | end 42 | 43 | end 44 | end 45 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/calabash_bundle_install_action.rb: -------------------------------------------------------------------------------- 1 | module Faststrap 2 | module InstallActions 3 | class CalabashBundleInstallAction < InstallAction 4 | 5 | @@gems = ["calabash-common",'calabash-cucumber', 6 | 'cs-bdd','blabla'] 7 | 8 | def self.group 9 | Faststrap::ActionsGroup::TESTS 10 | end 11 | 12 | def self.description 13 | "Install Calabash Bundle[calabash-common,calabash-cucumber,cs-bdd,blabla]" 14 | end 15 | def self.cmd 16 | @@gems.map { |d| Faststrap::InstallActions.gem_install d } 17 | end 18 | 19 | def self.ucmd 20 | @@gems.map { |d| Faststrap::InstallActions.gem_uninstall d } 21 | end 22 | 23 | 24 | def self.name 25 | "Calabash" 26 | end 27 | 28 | def self.installed? 29 | Faststrap::InstallActions.cmd? "calabash-common" 30 | end 31 | 32 | end 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Thiago Lioy 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /faststrap.gemspec: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | lib = File.expand_path('../lib', __FILE__) 3 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) 4 | require 'faststrap/version' 5 | 6 | Gem::Specification.new do |spec| 7 | spec.name = 'faststrap' 8 | spec.version = Faststrap::VERSION 9 | spec.date = '2015-04-29' 10 | spec.summary = "setup and bootstrap your mac OS environment for development." 11 | spec.description = "setup and bootstrap your mac OS environment for development." 12 | spec.authors = ["Thiago Lioy"] 13 | spec.email = 'lioyufrj@gmail.com' 14 | spec.homepage = 'https://github.com/thiagolioy/faststrap' 15 | spec.license = 'MIT' 16 | 17 | spec.required_ruby_version = '>= 2.0.0' 18 | 19 | spec.files = Dir["lib/**/*"] + %w{ README.md LICENSE } 20 | 21 | spec.executables << 'faststrap' 22 | spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) 23 | spec.require_paths = ["lib"] 24 | 25 | 26 | spec.add_dependency 'colorize', "~> 0.7.7" 27 | 28 | # Development only 29 | spec.add_development_dependency 'bundler' 30 | spec.add_development_dependency 'rake' 31 | spec.add_runtime_dependency "thor", "~> 0.19.1" 32 | spec.add_development_dependency 'rspec', '~> 3.1.0' 33 | spec.add_development_dependency 'coveralls' 34 | spec.add_development_dependency 'rubocop', '~> 0.29' 35 | 36 | end 37 | -------------------------------------------------------------------------------- /lib/faststrap/install_actions/install_actions_helper.rb: -------------------------------------------------------------------------------- 1 | require 'colorize' 2 | module Faststrap 3 | module InstallActions 4 | 5 | @@mod = Faststrap::InstallActions 6 | 7 | def self.load_default_actions 8 | Dir[File.expand_path '*install_action.rb', File.dirname(__FILE__)].each do |file| 9 | require file 10 | end 11 | end 12 | 13 | def self.list 14 | cs = @@mod.constants.select {|c| Class === @@mod.const_get(c)} 15 | cs.collect! { |c| eval("#{@@mod}::#{c.to_s}") } 16 | sort_actions(cs) 17 | end 18 | 19 | def self.list_installed 20 | l = list.select{|a| a.installed?} 21 | delete_and_push_action(find_brew_action(l),l) 22 | end 23 | 24 | def self.sort_actions(actions) 25 | l = actions.sort {|x,y| x.name <=> y.name} 26 | delete_and_unshift_action(find_brew_action(l),l) 27 | end 28 | 29 | def self.present(g) 30 | puts "\n#{g} Group:" 31 | list.select{|a| a.group == g}.each do |ac| 32 | puts " - #{ac.name}".yellow 33 | end 34 | end 35 | 36 | def self.cmd?(c) 37 | `which #{c}` 38 | $?.success? 39 | end 40 | 41 | 42 | def self.brew_install(g) 43 | brew? 44 | system "brew install #{g}" 45 | end 46 | 47 | def self.gem_install(g) 48 | system "sudo gem install #{g} --verbose" 49 | end 50 | 51 | def self.brew_uninstall(g) 52 | brew? 53 | system "brew uninstall #{g}" 54 | end 55 | 56 | def self.gem_uninstall(g) 57 | system "sudo gem uninstall #{g} --verbose" 58 | end 59 | 60 | private 61 | def self.brew? 62 | raise "HomeBrew not installed".red unless cmd? "brew" 63 | end 64 | 65 | def self.find_brew_action(l) 66 | l.find{|e| e.name.upcase.include?("brew".upcase)} 67 | end 68 | 69 | def self.delete_and_push_action(e,l) 70 | return l if e.nil? 71 | l.delete(e) 72 | l.push(e) 73 | end 74 | 75 | def self.delete_and_unshift_action(e,l) 76 | return l if e.nil? 77 | l.delete(e) 78 | l.unshift(e) 79 | end 80 | 81 | end 82 | end 83 | -------------------------------------------------------------------------------- /lib/faststrap.rb: -------------------------------------------------------------------------------- 1 | require 'colorize' 2 | require 'thor' 3 | require 'thor/group' 4 | 5 | require 'faststrap/install_actions/install_actions_helper' 6 | require 'faststrap/install_action' 7 | 8 | module Faststrap 9 | 10 | 11 | def self.handle_answer(answer,actions) 12 | actions.each do |a| 13 | if answer == "*" 14 | a.run 15 | else 16 | a.run if answer.map{|e| e.upcase}.include?(a.name.upcase) 17 | end 18 | end 19 | end 20 | 21 | 22 | class Bootstrap < Thor 23 | include Thor::Actions 24 | 25 | desc 'ios', 'bootstrap your computer for ios env' 26 | method_option :all,:aliases => "-a", :type => :boolean, :default => false 27 | def ios 28 | puts "We have the follow actions for ios :" 29 | 30 | Faststrap::InstallActions.load_default_actions 31 | install_actions = Faststrap::InstallActions.list 32 | 33 | ag = Faststrap::ActionsGroup 34 | [ag::INSTALLERS,ag::COMAND_LINE,ag::TESTS,ag::CI].map do |g| 35 | Faststrap::InstallActions.present(g) 36 | end 37 | 38 | everything = options[:all] 39 | 40 | if everything 41 | puts "Installing everything .." 42 | Faststrap.handle_answer('*',install_actions) 43 | else 44 | answer = ask("\nType the actions you want to install separated by comma (eg. git,xctool)\n or type * for everything :") 45 | answer = answer.include?("*") ? "*" : answer.split(',') 46 | Faststrap.handle_answer(answer,install_actions) 47 | end 48 | 49 | end 50 | 51 | desc 'clean', 'clean your computer of all faststrap installed tools' 52 | def clean 53 | Faststrap::InstallActions.load_default_actions 54 | 55 | if Faststrap::InstallActions.list_installed.empty? 56 | puts "You dont have any faststrap tools installed".yellow 57 | else 58 | puts "All the tools that will be uninstalled:" 59 | Faststrap::InstallActions.list_installed.each{|e| puts e.name.yellow} 60 | 61 | answer = yes?("Are you sure?".red) 62 | Faststrap::InstallActions.list_installed.map{|a| a.uninstall} if answer 63 | end 64 | end 65 | 66 | end 67 | 68 | 69 | end 70 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # faststrap 2 | ============ 3 | 4 | [![Twitter: @tplioy](https://img.shields.io/badge/contact-@tplioy-blue.svg?style=flat)](https://twitter.com/tplioy) 5 | [![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/thiagolioy/faststrap/blob/master/LICENSE) 6 | [![Gem](https://img.shields.io/gem/v/faststrap.svg?style=flat)](https://rubygems.org/gems/faststrap) 7 | [![Build Status](https://img.shields.io/travis/thiagolioy/faststrap/master.svg?style=flat)](https://travis-ci.org/thiagolioy/faststrap) 8 | [![Coverage Status](https://coveralls.io/repos/thiagolioy/faststrap/badge.svg?branch=master)](https://coveralls.io/r/thiagolioy/faststrap?branch=master) 9 | 10 | ######*faststrap* lets you setup and bootstrap your mac OS environment for development. 11 | 12 | Contact the developer on Twitter: [@tplioy](https://twitter.com/tplioy) 13 | 14 | ------- 15 |

16 | Features • 17 | Installation 18 |

19 | 20 | ------- 21 | 22 | ## Features 23 | 24 | Tired of having to install several different programs everytime you format or buy a new machine ? New hires on your company are wasting time to get there machines ready to code ? 25 | With faststrap you install the ios environment really easy using just one command. 26 | 27 | ```shell 28 | faststrap ios 29 | ``` 30 | 31 |

32 | fastlane ios cmd 33 |

34 | 35 | Remove installed ios tools with only one cmd 36 | 37 | ```shell 38 | faststrap clean 39 | ``` 40 |

41 | fastlane clean cmd 42 |

43 | 44 | 45 | ## Installation 46 | 47 | If you are familiar with the command line and Ruby, install `faststrap` yourself: 48 | 49 | sudo gem install faststrap 50 | 51 | ## Contribute 52 | My goal here is to be the bootstrap platform for several development environments. Install your 53 | dev environment into a machine should be somthing very easy to do.Contributors are more than welcome,please help me to achive this goal. This project is new and still misses lots of things such as: 54 | 55 | - Other environments besides ios (Android, Rails, Web, Node) 56 | - Tests 57 | - Better test coverage 58 | 59 | ## License 60 | This project is licensed under the terms of the MIT license. See the LICENSE file. 61 | --------------------------------------------------------------------------------