shipi | docs

Config File

Create a shipi.json file in your project root to configure default options.

Example

{
  "audience": "changelog",
  "diff": true,
  "tickets": {
    "enabled": true,
    "jira": "https://yourcompany.atlassian.net/browse/",
    "github": "https://github.com/yourorg/yourrepo/issues/"
  },
  "exclude": [
    "chore:",
    "style:",
    "docs:"
  ]
}

Options

audience

Default audience for generated notes.

{
  "audience": "changelog"
}

Options: changelog, internal, executive

diff

Enable diff analysis by default.

{
  "diff": true
}

tickets

Configure ticket extraction and linking.

{
  "tickets": {
    "enabled": true,
    "jira": "https://yourcompany.atlassian.net/browse/",
    "github": "https://github.com/yourorg/yourrepo/issues/"
  }
}

exclude

Exclude commits matching these prefixes.

{
  "exclude": [
    "chore:",
    "style:",
    "docs:",
    "ci:"
  ]
}

include

Only include commits matching these prefixes.

{
  "include": [
    "feat:",
    "fix:",
    "perf:"
  ]
}

format

Default output format.

{
  "format": "markdown"
}

Options: markdown, json, text

Config file locations

Shipi looks for config files in this order:

  1. ./shipi.json
  2. ./.shipi.json
  3. ./shipi.config.json

Override with CLI flags

CLI flags always override config file settings:

# Uses "internal" even if config specifies "changelog"
shipi generate --audience internal