|
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