# commit-from

> Create a commit message from ticket details from issue sources.

Latest version **0.8.0** (published 2026-09-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install commit-from
pnpm add commit-from
yarn add commit-from
bun add commit-from
```

Provides the command `commit-from`.

## Health

**Score 55/100 (C)** — status: active.

Positive: no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no types; no esm support; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.8.0 |
| Published | 2026-09-24 |
| First published | 2016-09-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=8.0.0 |
| Dependencies | 9 |
| Unpacked size | 44.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | yes |
| GitHub stars | 3 |
| Author | Justin Morgan |
| Maintainers | jlmorgan |
| Keywords | commit, github, jira |

## Links

- npm: https://www.npmjs.com/package/commit-from
- Repository: https://github.com/jlmorgan/node-commit-from
- Homepage: https://github.com/jlmorgan/node-commit-from#readme
- Issues: https://github.com/jlmorgan/node-commit-from/issues
- npm.io page: https://npm.io/package/commit-from

## Dependencies (9)

- [yargs](https://npm.io/package/yargs.md) ^18.2.0
- [lodash](https://npm.io/package/lodash.md) ^4.18.1
- [bluebird](https://npm.io/package/bluebird.md) ^3.7.2
- [entities](https://npm.io/package/entities.md) ^8.1.0
- [handlebars](https://npm.io/package/handlebars.md) ^4.7.9
- [node-fetch](https://npm.io/package/node-fetch.md) ^2.7.0
- [properties](https://npm.io/package/properties.md) ^1.2.1
- [jira-client](https://npm.io/package/jira-client.md) ^8.2.2
- [lodash-fantasy](https://npm.io/package/lodash-fantasy.md) ^1.0.1

## Recent versions

- 0.8.0 (latest) — 2026-09-24
- 0.7.0 — 2024-02-27
- 0.6.0 — 2024-02-23
- 0.5.0 — 2019-12-30
- 0.4.0 — 2019-06-10
- 0.3.0 — 2018-12-26
- 0.2.1 — 2018-02-12
- 0.2.0 — 2017-03-28
- 0.1.2 — 2016-09-23
- 0.1.1 — 2016-09-23
- 0.1.0 — 2016-09-22

## README

# `commit-from`

> Create a commit message from ticket details from issue sources.

## Why would I use this?

Because:

* Automate all the things.
* Save time by rapidly producing commit messages without switching contexts.
* Enable automated releases by always including necessary metadata.

Currently support issue sources:

* GitHub
* Jira

## Getting Started

Install [node.js][] 4+.

### Install via NPM

```bash
npm install -g commit-from
```

## Configuration

Configuration is provided from the `.cfconfig` file in the user's home directory.

### Example

```properties
[github]
  issuePrefix = issue-
  template = ~/.gittemplates/github.txt
  timeout = 75000

[jira]
  apiVersion = 2
  host = jira.myhost.org
  password = SprSrsPsswrd1234!@#$
  protocol = https
  strictSSL = true
  template = ~/.gittemplates/jira.txt
  timeout = 75000
  username = someuser
```

## Help

```bash
commit-from -h
```

## Git Aliases

```gitconfig
# git config file
[alias]
  # current branch name
  current-branch=!git rev-parse --abbrev-ref HEAD
  cb=!git current-branch

  # commit with a message generated from a supported issue source
  commit-from = "!f() { git commit -e -m \"$(CB=$(git cb); if [[ $(dirname "${CB}") = "." ]]; then echo ""; else commit-from $1 $(basename "${CB}") ${@:2}; fi)\"; }; f"
  cf = !git commit-from

  # commit with a message generated from GitHub
  commit-from-github = !git commit-from github
  cfg = !git commit-from-github

  # commit all with a message generated from GitHub
  commit-all-from-github = "!f() { git add -A && git cfg ${@}; }; f"
  cafg = !git commit-all-from-github

  # commit with a message generated from Jira
  commit-from-jira = !git commit-from jira
  cfj = !git commit-from-jira

  # commit all with a message generated from Jira
  commit-all-from-jira = "!f() { git add -A && git cfj ${@}; }; f"
  cafj = !git commit-all-from-jira
```

## Creating a Git Commit

```bash
git add <files>
git cfg # From GitHub
git cfj # From Jira

# or commit all the things
git cafg
git cafj

# use a custom template
git cfg -t /path/to/template.txt
git cfj -t /path/to/template.txt
```

[node.js]: https://github.com/nodejs/node-v0.x-archive/wiki/Installing-Node.js-via-package-manager

---
_Source: https://npm.io/package/commit-from · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
