Contributing Documentation

Why Should You Contribute?

The Cloud Foundry documentation relies on contributions from the community to remain accurate, complete, and consumable.

Reasons to contribute to the Cloud Foundry documentation include:

  • You have noticed that a topic is incorrect or incomplete.
  • You are developing a new Cloud Foundry feature, and want to tell users know how to use it.
  • You are a good person, and you want to help your fellow humans.
  • You hate the idea of someone else having to go through what you just went through to figure something out. Such a waste; so inefficient.

How Can You Contribute?

The source files for all Cloud Foundry docs are hosted on Github, and each docs page has a link to its Github source file at the bottom. The source files are in Markdown/HTML/embedded Ruby (html.md.erb) format.

If you use Github, the most direct and effective way to contribute to the docs is to submit a pull request or raise an issue in the Github repository containing the docs content that you want to change.

If you do not already use Github (or want to learn), you can contribute to the CF docs in other ways that are also greatly appreciated.

Whichever way you contribute, please follow our Advice for Contributors.

Submit a Github Pull Request

If you have identified a problem with the docs and know the required content change, the fastest way to make the change is by submitting a pull request (PR).

The CF docs team typically accepts PRs within a day, but may need to ask follow-up questions.

Before your PRs can be accepted, you must have a signed Contributor License Agreement (CLA) on file.

To submit a pull request, follow these steps:

  1. Prerequisite: Sign the CLA if you have not already done so.
  2. Navigate to the topic that you want to modify.
  3. To locate the GitHub source file that contains the content for the topic, scroll to the bottom of the page and click Create a pull request or raise an issue on the source for this page in GitHub.
  4. Click the pencil icon in the upper right to edit the file in GitHub.
  5. Make your desired changes.
  6. Under Commit changes at the bottom of the page, enter a description of your change and click Propose file change.
  7. Click Create pull request.

Sign and Publicize the CLA

Before your Github pull request can be accepted, you must sign the Contributor License Agreement (CLA) as an individual or publicize your membership with an organization that has signed the CLA. To do this, perform the following steps:

  1. Complete and sign the appropriate CLA, either individual or corporate.
  2. Send a scan of the CLA to contributors@cloudfoundry.org, as instructed in the CLA. When sending the individual CLA, provide your GitHub username. When sending the corporate CLA, provide a list of GitHub usernames that can make pull requests on behalf of your organization.
  3. Publicize your membership in the appropriate GitHub org.

If you do not have a CLA on file with the Cloud Foundry Foundation, the cfdreddbot notifies you after you submit the pull request.

If you receive the cfdreddbot notification, but are confident that you are already covered under a corporate or organizational CLA, then verify that you have publicized your membership in an appropriate GitHub org.

Raise a Github Issue

If you do not have specific edits to make, but want start a discussion or make a general suggestion, you can raise a Github issue.

Github issues generally take longer to resolve than pull requests. But if you describe the issue with helpful background information and specific and actionable instructions, the CF docs team can address it quickly.

Vague or partially-baked Github issues may remain unaddressed for some time.

To raise an issue on a GitHub repository:

  1. Navigate to the topic that you want to modify.
  2. To locate the GitHub source file that contains the content for the topic, scroll to the bottom of the page and click Create a pull request or raise an issue on the source for this page in GitHub.
  3. Click the name of the repository where the topic is located. For example, docs-deploying-cf.
  4. Click the Issues tab.
  5. Click New issue.
  6. Enter a title for your issue, and in the text box, describe the issue and provide links to the affected topic(s).
  7. Click Submit new issue.

Contribute Without Github

To contribute to the CF docs without using Github, you can use the following:

  • Google Docs: Write new docs content, or copy-paste existing content, into a Google Drive document. Edit or comment on it, and share with the CF docs team at cf-docs@pivotal.io.
  • Email the the CF docs team directly at cf-docs@pivotal.io.
  • Slack the CF docs team through the #cf-docs channel in Cloud Foundry Slack.

Advice for Contributors

The Cloud Foundry Documentation Team reviews and revises all contributions, so you can focus on providing correct and complete information, and not worry about style and structure.

Keep in mind:

  • If your contribution is larger than a small correction, put yourselves in the shoes of a novice and read through it. Revise the text to answer any questions that might occur to a less experienced user.
  • Who needs this information? Are they a developer or a platform operator?
  • What are the specifics that a user needs to know in order to understand and perform the task? Instead of “the instance” or “the cluster,” explain the instance or cluster of what. Instead of “revise the code to…” explain where to revise the code.
  • If you’re giving instructions, include why you would want to do what you’re describing. What’s your specific situation, and what result do you seek?

For further guidance, contact the Cloud Foundry Documentation Team at cf-docs@pivotal.io or through our #cf-docs channel on the Cloud Foundry Slack.

How Can You Preview Your Documentation Changes?

The Cloud Foundry Documentation Team uses the tool Bookbinder to publish the Cloud Foundry documentation.

The instructions below explain how to use Bookbinder to preview your documentation changes locally. But you do not have to install or use Bookbinder in order to contribute to the Cloud Foundry documentation.

Perform the following steps to preview documentation changes with Bookbinder:

  1. If you do not already have a workspace directory within your home directory, create one.

    $ mkdir ~/workspace

  2. Identify the content repository where your documentation lives. For example, https://github.com/cloudfoundry/docs-cloudfoundry-concepts.

  3. Clone the content repository. For example:

    $ git clone git@github.com:cloudfoundry/docs-cloudfoundry-concepts.git

  4. Return to your workspace directory and clone the Cloud Foundry book.

    $ git clone git@github.com:cloudfoundry/docs-book-cloudfoundry.git

  5. Change directory into the Cloud Foundry book.

    cd docs-book-cloudfoundry

  6. Run bundle install to install the necessary gems, including Bookbinder.

  7. Use Bookbinder to create a live version of your docs:

    $ bundle exec bookbinder watch

  8. Navigate to http://localhost:4567 in a browser and navigate to the route where your docs are published. For instance, http://localhost:4567/cf-cli/install-go-cli.html.

    Bookbinder automatically updates the live version of the docs whenever you make a change to the content repository.

Create a pull request or raise an issue on the source for this page in GitHub