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:
./shipi.json./.shipi.json./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