anchor.diff:          workdir: /app
   ```
   
  -More advanced plugins, such as [Docker Compose plugin], can be run multiple times within a build, and use [buildkite-agent meta-data] to share data between the steps:
  +More advanced plugins, such as [Docker Compose plugin], are designed to be used multiple times in a pipeline:
   
   ```yml
   steps:
  
positive.code:       docker-compose#v1.0.0:
          run: app
  ```
  
  ## Plugin sources
  
  
negative.code: 
  Plugins can be hosted on GitHub, BitBucket or a private git repository, and are automatically fetched as required. See [Plugin sources] for how you can host your own.
  
  Buildkite offers a [collection of useful plugins][Buildkite Plugins] to get you started, including a [Docker Compose plugin], [Junit Annotate plugin], and the [Library Example plugin].
  
  <%= toc %>
  
  ## Using a plugin
  
  Plugins can be configured on [command steps] in your `pipeline.yml` [pipeline definitions]. When a command step with a plugin is run on an agent, the plugin is cloned from its git repository, and its hooks are executed, passing in any configuration you've specified in your pipeline.yml.
  
  The simplest plugin is one that accepts no configuration, such as the [Detect Clowns plugin], which will return an error if any clown emojis are found in your source code:
  
  