Commit aa139097 authored by Gabriel Engel's avatar Gabriel Engel

Removed handbook

parent 0699b289
permalink: /handbook
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<link rel="canonical" href="">
<meta http-equiv="refresh" content="0; url=">
<a href="">Click here if you are not redirected.</a>
- [Onboarding](onboarding/)
- [Marketing](marketing/)
- [Operations](operations/)
- [Summit](summit/)
## Table of Contents
- [How we publish](#how-we-publish)
- [Technologies](#technologies)
- [Set up local environment](#setup-local-environment)
- [Install a code editor](#install-a-code-editor)
- [Clone projects](#clone-the-projects)
- [Run a project](#run-a-project)
- [Start the web server](#start-the-web-server)
- [Stop the web server](#stop-the-web-server)
- [Clear the web server cache](#clear-the-web-server-cache)
- [Editing content](#editing-content)
- [Blog posts](#blog-posts)
- [Social updates](#social-updates)
- [What we publish](#what-we-publish)
- [Content from Rocket.Chat team](#content-from-rocketchat-team)
- [Content from the community](#content-from-the-community)
- [Assessment criteria](#assessment-criteria)
- [Marketing team approval](#marketing-team-approval)
# Marketing
The marketing team is responsible for publishing high quality content that showcases the best of Rocket.Chat to our various channels: website, blog, newsletter, social and through external agencies and publications.
## How we publish
### Technologies
We use
[GitHub Pages]( and
[Amazon CloudFront]( to publish our
[Website & Handbook]( and
[Documentation]( content.
Content can be directly edited and previewed on GitHub but to view it with the full styling you will need to setup a local development environment.
### Setup local environment
The following software is required: Git, Ruby 2.4.2+, bundler gem. To install the publishing stack on OSX run:
curl -fsSL | /bin/bash
### Install a code editor
We recommend [Visual Studio Code]( as it has a great markdown previewer and many other useful [features](
### Clone the projects
Clone our projects using [GitHub Desktop](
- Website & handbook: ``
- Documentation: ``
### Run a project
#### Start the web server
Open a terminal and [change the directory]( to one of the projects (if you are using Visual Studio Code you can use the integrated terminal) and run:
#### Stop the web server
To stop the web server press: `ctrl + c`.
#### Clear the web server cache
If your saved changes are not being displayed, stop the server and clear the cache by running:
### Editing content
- Check out an existing branch or [create a new branch](
- Don't commit changes to the `master` branch.
- Don't work on someone else's branch without their permission.
- [Make changes](
- [Commit changes](
- [Open a Pull Request (PR)](
- Start your PR with "`WIP: `" if it is not ready to be merged.
- Someone will [review and merge]( your PR.
- You may receive feedback requesting changes to your work.
- Delete your merged branch.
- [Update your local repository](
### Blog posts
- Look at previous posts to see how to use:
- Meta data including categories and the cover image.
- Post structure, specifically for release posts.
- Reference images and open links in new tabs.
- Publish posts under with the following naming structure `_posts/yyyy/mm/`
- Put your post's images under `images/posts/yyyy/mm/slug/`
- Use [Image.Optim]( to reduce the size of your images.
- Use cover images where width is 1024px, height > 600px.
- Put the image accreditation at the bottom of each post.
### Social updates
- Put content update ideas in the [Social Media Schedule](
- Once approved by the marketing team the update must be scheduled in Hootsuite.
- Use a link shortener like [Google URL Shortener](
- Try to use some of our commonly used hashtags.
## What we publish
The marketing team picks content to create and publish which they consider to be amongst the best uncreated content that will achieve the greatest impact for the organization's short and medium term focus and long term objectives.
### Content from Rocket.Chat team
Rocket.Chat team members can suggest content by creating an [Asana]( task on the relevant marketing team project.
Do not commit to any marketing or imply that any marketing may be done for an external party to any of our channels without review and approval from the marketing team.
### Content from the community
The community can suggest content by opening a GitHub Issue on the [Website & Handbook]( and [Documentation]( projects.
### Assessment criteria
Your Content must pass the following assessment criteria before it will be reviewed by the marketing team:
- (yes/no) Is the idea or entity affiliated with religion, politics (government is acceptable), adult content, gambling or violence?
- (yes/no) Does the idea or entity's values comply with the [Rocket.Chat Code of Conduct](
- (yes/no) If there is an entity involved, is there marketing reciprocity?
- (yes/no) Is the idea novel within the context of Rocket.Chat?
### Marketing team approval
The marketing team will decide whether to approve the content as well as where and when to publish based on the following criteria:
- Does it showcase the best of the Rocket.Chat platform and community?
- Is there an associated deadline e.g. release date?
- Which channels does the content suit best?
- Where does it fit in to the marketing team's existing commitments?
The decision will be communicated in the original Asana task or GitHub issue.
# install homebrew
/usr/bin/ruby -e "$(curl -fsSL"
# install rebenv
brew install rbenv
# add rbenv to bash_profile and source
if ! cat ~/.bash_profile | grep -qFe "rbenv init" ; then
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
# upgrade ruby build
cd ~/.rbenv/plugins/ruby-build && git pull && cd -
# install ruby
rbenv install 2.4.2
rbenv global 2.4.2
# install bundler
gem install bundler
# create some rocketchat shortcuts
if ! cat ~/.bash_profile | grep -qFe "rocketchat_web_server" ; then
echo 'alias rocketchat_web_server="(bundle install && bundle exec jekyll serve --incremental)"' >> ~/.bash_profile
if ! cat ~/.bash_profile | grep -qFe "rocketchat_web_clear" ; then
echo 'alias rocketchat_web_clear="rm -Rf ._site/"' >> ~/.bash_profile
if ! cat ~/.bash_profile | grep -qFe "rocketchat_git_clear" ; then
echo 'alias rocketchat_git_clear="git branch | grep -v master | xargs git branch -D"' >> ~/.bash_profile
source ~/.bash_profile
## Table of contents
- [Your first week at Rocket.Chat](
- [Applications and services](#applications-and-services)
- [Join](
- [Rocket.Chat t-shirts](
- [Meeting the team](#meeting-the-team)
- [Add yourself to the team page](#add-youself-to-the-team-page)
- [Prerequisites](#prerequisites)
- [Add your profile](#add-your-profile)
- [Add your photo](#add-your-photo)
- [Create a pull request](#create-a-pull-request)
# Onboarding
## Your first week at Rocket.Chat
1. Familiarise yourself with Rocket.Chat and the various applications and services we use.
1. Ask Marcelo to add you to our weekly Team Call and Roadmap Discussion meetings.
1. Schedule 1:1 calls with various people in the team to get to know them.
1. Add yourself to the [team page](/team) and [map](
## Applications and services
We use the following applications and services on a daily basis.
- [Google Account]( ``.
- [GitHub]( to contribute to the orginization's repos, issues and projects.
- [BambooHR]( for HR.
- Speak to your manager to access team specific applications and services.
## Join
Join []( and ask your manager to add you to the following private channels and any other relevant team channels:
- [important](
- [random](
## Rocket.Chat t-shirts
[Indicate your t-shirt size and desired colors]( T-shirts will be shipped to you from Brazil if you work remotely.
## Meeting the team
If you are working remotely, we recommend you arrange meetings with Gabriel and at least nine other team members using the [team page]( Ensure that you speak to team members from a range of departments.
## Add yourself to the team page
The [Rocket.Chat team page]( shows the members of the core Rocket.Chat team. The list is ordered by start date with the most recent members at the bottom.
Each team member is featured with their job title, professional photo and link to their GitHub profile (if appropriate).
It is each team member's responsibility to add their own information and photo to the page once they join. The below section shows you how to do this.
### Prerequisites
1. Learn how to add content to the [marketing website](/handbook/marketing/index.html#how-we-publish).
1. Create a branch with an appropriate name `add-firstname-lastname-to-team-page`.
### Add your profile
1. Open `_data/team.yml`.
1. Add a new record at the bottom of the file with the following fields:
- `name`: full name
- `title`: from your contract
- `department`: from your contract
- `username`: Rocket.Chat username in the format `firstname.lastname`
- `github_username`: GitHub username to link your profiles
- `github_uid`: GitHub user id, add if you want to use your GitHub profile photo
- `photo`: **yes/no** If you've added your own photo to the website
### Add your photo
If you are using your GitHub profile photo instead of uploading a photo skip this section and create a pull request.
- Add your photo to the `images/team/member/` folder.
- Use the following naming format `firstname-lastname-01.jpg` all lowercase.
- If you are in the Porto Alegre office and need a photo speak to Arthur.
- Use a professional looking headshot.
- Dimensions of 300x300 px.
- Save as a JPEG with the `.jpg` extension.
### Create a pull request
1. Commit your changes.
1. From GitHub create a pull request and assign it to a member of the Marketing team to review.
- [Paid-Time-Off (PTO) Policy](pto/)
- [Travel Policy](travel/)
## Table of Contents
- [PTO Guide](#pto-guide)
- [Types of Time Off](#expenses-while-traveling)
- [Recognizing Burnout](#self-stay-incentive-policy)
- [Booking travel and lodging](#booking-travel-and-lodging)
- [Statutory Vacation Requirements](#statutory-vacation-requirements)
- [Brasil Employees](#brasil-employees)
- [US Employees](us-employees)
- [Worldwide Contractors](#worldwide-contractors)
# Paid-Time-Off (PTO) Policy
*Last updated: 22 December 2017*
Rocket.Chat encourages everyone to take some time off whenever you need it, be it for visiting exotic places or just taking some time for yourself. This is important for maintaining a healthy work/life balance.
## PTO Guide
1. You may take as many days off as you want, as long as your work is organised and in order, i.e. that your work or responsibilities are not compromised by your absence.
2. We enforce a minimum of 20 days of vacation per year. This is not a benefit; this is our requirement for maintaining the team's health.
3. When you decide which days you want to take off, please request them in [BambooHR]( so that everyone knows you will be away during that period.
4. For every period you decide to take off, you must request it no fewer than twice as many business days plus one. For example, assuming someone wants leave from June 4, 2018 until June 15, 2018 they would have to request PTO on or before May 4, 2018 (21 business days before) as this is a total of 10 business days. Exceptions are listed on Types of Time Off, below.
5. You are free to take some time off to go to the gym, go grocery shopping, take a nap, do household chores, help someone, etc. If something comes up or takes longer than expected, you have urgent tasks and you're able to communicate, just ensure the rest of the team knows and someone can pick up any of your urgent tasks.
6. Being part of a global onsite/remote team means you need to be highly organized and a considerate team player. Each team has busy times so it is always a good idea to check with them to ensure there is adequate coverage in place.
7. Don't forget to always check with your line manager and/or project manager before requesting time off. This is to ensure no deadlines are being overseen and to provide them with enough time to accommodate resources.
## Types of Time Off
1. **Casual**: days you'd like to take off, but in case of emergency you may be contacted
2. **Vacation**: days you would not like to be contacted by any means
3. **Sick**: this is an exception to the rule concerning the number of days you need to request before leave ;D Whenever you're sick, please add that day as a sick day type of time off
4. **Half-day**: for when you know you'll be available during half of the day only
5. **Maternity**: duh, paternity as well :)
## Recognizing Burnout
It is important for us to take a step back in order to recognize and acknowledge the feelings of being "burned out". We are not as effective or efficient when we work long hours, miss meals or forego nurturing our personal lives for sustained periods of time. If you feel yourself or notice someone on your team experiencing burnout, be sure to address it right away. To get ahead of a problem, be sure to communicate with the COO and/or CEO if the following statement ever applies to you, "I'm feeling like I might burn out if the situation doesn't change."
If you or your peers are showing signs of burnout, you should take time out to focus on things that relax you and improve your overall health and welfare. We as a team should address burnout right away by discussing options with each other to evaluate the workload and manage contributing stressors.
Other tips to avoid burnout include:
- Assess and pursue your interests, skills and passions
- Take breaks during the day to eat healthy foods
- Make time each day to increase blood and oxygen circulation which improves brain
activity and functionality
- Get plenty of restful sleep
## Statutory Vacation Requirements
### Brasil Employees
Employees must take at least 30 vacation days. The days will accrue yearly starting 1 year after contract start date. If employees have not taken 30 days off before the work year ends they will be required to take the remainder of their 30 days off. There is no carry-over for unused vacation days.
### US Employees
The U.S. Fair Labor Standards Act (FLSA) does not require payment for time not worked such as vacations, sick leave or federal or other holidays, but employees are eligible for our Unlimited Time Off Policy.
### Worldwide Contractors
Contractors do not have statutory vacation requirements, but are eligible for our Unlimited Time Off Policy.
## Table of Contents
- [Expenses While Travelling](#expenses-while-traveling)
- [Self Stay Incentive Policy](#self-stay-incentive-policy)
- [Booking travel and accommodation](#booking-travel-and-accommodation)
# Travel Policy
## Expenses While Traveling
The company will cover all work-related travel expenses. This includes accommodation and meals during the part of the trip that is work-related. Depending on the distance of your travel, it can also include one day before and one day after the work-related business. For example, if you are attending a 3-day conference in a jetlag-inducing location, the company will cover your lodging and meals those 3 days as well as one day before and one day after.
The company can accommodate custom requests. It is OK to stay longer on your trip. However, the extra days will not be covered by the company.
When spending company money, spend it carefully, i.e. as if it is your own money. You must still apply for all expenses.
Always bring a credit card with you when travelling on company business if you have one.
Hotels will generally expect you to have a physical credit card to present upon check-in. This credit card will be kept on file for the duration of your stay. Even if your accommodation was pre-paid by the company or by using a company credit card, the Hotel may still require a card to be on file for "incidentals".
If you incur any work-travel related expenses (on your personal card or a Rocket.Chat company card), please make sure to save the original receipt.
When your trip is complete, please file an expense report via TriNet Expense, Xero or include the receipts on your next monthly invoice.
## Self Stay Incentive Policy
If you decide to stay with friends or family instead of a hotel/Airbnb for a business trip, the company will pay you 50% of what would have been the cost of a reasonable hotel. This is in keeping with our values of frugality and freedom, and intended to reward you for saving company money on accommodation expenses. Contractors and employees should take a screenshot of a hotel search from the same location and submit the screenshot by email to the COO for processing.
## Booking travel and accommodation
All bookings and accommodation reservations are processed by People Operations.
Before booking any flights please ensure that you have the proper visas in place.
To start your booking process, send an email to People Operations with the origin and destination, travel dates and reason for travelling.
Note: Once a flight is booked, re-routing is at person’s own cost unless requested by the company or force majeure (in the latter case often the airline will cover the difference).
# Summit
Rocket.Chat holds an annual summit to get the entire team together. Attendance is optional but highly recommended to:
- meet new remote team members in person
- develop and strengthen relationships
- get a deeper understanding of our teams strengths and weaknesses
- align projects with the executive team's short, medium and long term objectives and vision
We do a bit of work and planning at summits but focus more on team building activities.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment