|
1 | 1 | <p align="center"> |
2 | | - <img src="assets/commitlog.png" height="64"> |
| 2 | + <img src="https://raw.githubusercontent.com/barelyhuman/commitlog/main/assets/commitlog.png" height="64"> |
3 | 3 | <p align="center">Changelog generator using Commit History</p> |
4 | 4 |
|
5 | | -[](https://github.com/barelyhuman/commitlog/actions/workflows/test.yml) |
6 | | - |
7 | | - |
8 | 5 | [](https://goreportcard.com/report/github.com/barelyhuman/commitlog) |
9 | | -[](https://github.com/barelyhuman/commitlog) |
10 | | - |
11 | 6 |
|
12 | | -To see an example of this in action, you can check the actions file for this repo. Yes it uses itself to generate the release logs |
| 7 | +## Philosophy |
13 | 8 |
|
14 | | -## Sheilds | Badges |
| 9 | +- Work on all major operating systems |
| 10 | +- Not platform dependent, not tied to Github, Gitlab, or anything. It's just markdown. |
| 11 | +- Ability to generate change logs between version tags |
| 12 | +- Handle release versioning of the project |
| 13 | +- Stay small |
15 | 14 |
|
16 | | -[](https://github.com/barelyhuman/commitlog) |
| 15 | +## Why |
17 | 16 |
|
18 | | -```markdown |
19 | | -[](https://github.com/barelyhuman/commitlog) |
20 | | -``` |
| 17 | +Every language has it's own isolated version of a tool like this, for someone who works with multiple languages, it's easier to |
| 18 | +have the same tool working everywhere, without having to setup something get it working. There's an even tighter scoped version of this, [nimclog](https://github.com/barelyhuman/nimclog). |
21 | 19 |
|
22 | | -## Support |
| 20 | +The point of the tool is not to create super descriptive changelogs for you but to help your changelogs have enough information for you as a developer to be able to write proper changelogs while having references to the changes in one place. |
23 | 21 |
|
24 | | -I'd like to keep building more such tools and do them full time instead of doing it during the weekend, help achieve that if you like the tool. |
| 22 | +## Documentation |
25 | 23 |
|
26 | | -## Install |
| 24 | +The documentation can be read from the `docs` folder of the repository, or on the [website](https://barelyhuman.github.io/commitlog) |
27 | 25 |
|
28 | | -Binaries are available on the Github [releases](https://github.com/barelyhuman/commitlog/releases) |
| 26 | +## License |
29 | 27 |
|
30 | | -or you can use goblin |
31 | | - |
32 | | -```sh |
33 | | -curl -sf https://goblin.reaper.im/github.com/barelyhuman/commitlog | sh |
34 | | -``` |
35 | | - |
36 | | -## Build |
37 | | - |
38 | | -This step is for people who want to use the latest version from the repositories which hasn't been added to releases as a binary yet and for people viewing this on sourcehut , as the binaries aren't uploaded to sourcehut. |
39 | | - |
40 | | -- Make sure you have go installed on your system , minimum version `1.15` |
41 | | -- You can either clone the whole repo from sourcehut / github or downlad a tar.gz from sourcehut / github |
42 | | - |
43 | | -### With Clone |
44 | | - |
45 | | -```sh |
46 | | -git clone https://git.sr.ht/~reaper/commitlog |
47 | | -# or |
48 | | -git clone https://github.com/barelyhuman/commitlog |
49 | | - |
50 | | -cd commitlog |
51 | | -go build |
52 | | -``` |
53 | | - |
54 | | -### With Tarballs |
55 | | - |
56 | | -```sh |
57 | | -tar -xvzf commitlog-<hash>.tar.gz |
58 | | -cd commitlog |
59 | | -go build |
60 | | -``` |
61 | | - |
62 | | -```sh |
63 | | -# to install it to go's bin folder and use the commitlog command during dev or as a perm install |
64 | | -go install |
65 | | -``` |
66 | | - |
67 | | -### Web Version |
68 | | - |
69 | | -Source: [commitlog-web](https://github.com/barelyhuman/commitlog-web) |
70 | | - |
71 | | -Web App: [commitlog-web](https://commitlog-web.herokuapp.com/) |
72 | | - |
73 | | -## Usage |
74 | | - |
75 | | -The usage is pretty simple, this cli tool assumes that you use [commitlint standards](https://github.com/conventional-changelog/commitlint#what-is-commitlint) while writing your commits, if not it's okay everything will be classified under `Other Changes` instead of being grouped according to type of commit. |
76 | | - |
77 | | -**Simple Overview** |
78 | | -`ci: <message>` - for ci/cd changes |
79 | | -`feat|feature: <message>` - for feature changes |
80 | | -`docs: <message>` - for documents or comment updations in code |
81 | | -`refactor: <message>` - performance / code clean up changes or total BLOC changes |
82 | | -`fix: <message>` - for fixes (self-explanatory) |
83 | | - |
84 | | -### Supported Flags (as of v0.0.4-dev.3) |
85 | | - |
86 | | -The below mentioned are the flags supported by the current branch and older tags might not support the flags |
87 | | -or certain inputs in flags, use the `-h` flag to see what's supported on the version you are using. |
88 | | - |
89 | | -```sh |
90 | | -Usage of commitlog: |
91 | | - -e string |
92 | | - commit hash string / revision (ex. HEAD, HEAD^, HEAD~2) |
93 | | - to stop collecting commit message at |
94 | | - -i string |
95 | | - commit types to be includes (default "ci|refactor|docs|fix|feat|test|chore|other") |
96 | | - -p string |
97 | | - path to the repository, points to the current working directory by default (default ".") |
98 | | - -promo |
99 | | - if true will add a "generated by" promotional tag to the changelog (added in v1.0.0) |
100 | | - -s string |
101 | | - commit hash string / revision (ex. HEAD, HEAD^, HEAD~2) |
102 | | - to start collecting commit messages from |
103 | | - -skip |
104 | | - if true will skip trying to classify and just give a list of changes |
105 | | -``` |
106 | | -
|
107 | | -### Example Output (from this exact repository) |
108 | | -
|
109 | | -```sh |
110 | | -> commitlog |
111 | | -# which is the shorthand of |
112 | | -> commitlog log -p . |
113 | | -``` |
114 | | -
|
115 | | -**As of 0.0.6 there's an experimental release subcommand that can be used for version tagging** |
116 | | -
|
117 | | -```markdown |
118 | | -## Fixes |
119 | | -
|
120 | | -97c582b3eb5a6796ef9c250d9653ad90dce63cbe - example fix |
121 | | -
|
122 | | -## Other Changes |
123 | | -
|
124 | | -da6d837eb3134f836bfbe401de7882f2e0818ba8 - Create LICENSE |
125 | | -b0f1b1d2bc4265cb72b70b3ae5b60f8e65f47b12 - initial commit |
126 | | -``` |
127 | | -
|
128 | | -## Subcommands |
129 | | -
|
130 | | -#### `release` |
131 | | -
|
132 | | -As of **0.0.7-dev.7** the cli comes with a sub command to maintain version for the repository. |
133 | | -
|
134 | | -The command will |
135 | | -
|
136 | | -- create the `.commitlog.release` file to handle and persit the version |
137 | | -- handle the semver increments |
138 | | -- create a new commit and tag for the same |
139 | | -
|
140 | | -```sh |
141 | | -$ commitlog release -beta -beta-suffix dev |
142 | | -Current Version: |
143 | | -v0.0.7-dev.6 |
144 | | -New Version |
145 | | -0.0.7-dev.7 |
146 | | -? Do you want me to create a commit for the new version?: Yes |
147 | | -✔ Updated Version |
148 | | -``` |
149 | | -
|
150 | | -## Current Limitations |
151 | | -
|
152 | | -- Doesn't work inside a nested folder in the repository, needs to be on the root of the repository to work. (you can use the `-p` flag to set a path to generate logs from) |
153 | | -
|
154 | | -## Contribution |
155 | | -
|
156 | | -[Contribution Guidelines](CONTRIBUTING.md) |
| 28 | +[MIT](/LICENSE) |
0 commit comments