pbrisbin/tee-io

View on GitHub
templates/homepage.hamlet

Summary

Maintainability
Test Coverage
<h1>
  <code>
    tee.io

<p>
  It can often be useful to execute a command, then both monitor and capture its
  output as it's being produced. This is what
  <a href="http://linux.die.net/man/1/tee">
    <code>
      tee(1)
  is good for.
  <code>
    tee.io
  is sort of like that for commands on
  <em>remote
  systems.

<p>
  It's like
  <code>tee(1)
  as a service.

<img alt="demo" src=@{StaticR demo_gif}>

<h2>Usage

<ul>
  <li>
    <a href="http://docs.teeio.apiary.io">API Documentation
  <li>
    <a href="https://rubygems.org/gems/tee-io">Ruby SDK
  <li>
    <a href=@{StaticR tee_io}>command-line client

<h2>Motivation

<p>
  At
  <a href="https://codeclimate.com">Code Climate</a>,
  we frequently run commands on remote systems via a bot in our team chat
  room.

<p>
  We would normally capture the
  <code>stdout
  and
  <code>stderr
  from these processes, manipulate it, format it, and post it back to chat. This
  has a number of downsides:

<ul>
  <li>The logic is non-trivial and situationally-dependent
  <li>The output seriously clutters the chat history
  <li>We have to wait for the command to complete before we see anything

<p>
  To solve these problems, I built
  <code>tee.io</code>.
  Maybe it'll be useful to you too.