|
1 |
| -<p align="center"> |
2 |
| - <img src="https://raw.githubusercontent.com/barelyhuman/commitlog/main/assets/commitlog.png" height="64"> |
3 |
| -<p align="center">Changelog generator using Commit History</p> |
| 1 | +<!-- meta --> |
| 2 | +<title> |
| 3 | + commitlog |
| 4 | +</title> |
| 5 | +<meta name="description" content="commits to changelog generator"> |
| 6 | +<!-- meta end --> |
4 | 7 |
|
5 |
| -[](https://goreportcard.com/report/github.com/barelyhuman/commitlog) |
| 8 | +### [commitlog](/) |
6 | 9 |
|
7 |
| -## Philosophy |
| 10 | +[Manual](/manual)\ |
| 11 | +[Download ↓](/download) |
8 | 12 |
|
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 |
| 13 | +#### Index |
14 | 14 |
|
15 |
| -## Why |
| 15 | +- [Source](https://github.com/barelyhuman/commitlog) |
| 16 | +- [Quick Start](#quick-start) |
| 17 | +- [About](#about) |
| 18 | + - [Philosophy](#philosophy) |
| 19 | + - [Installation](#installation) |
| 20 | +- [Manual](#manual) |
| 21 | +- [License](#license) |
16 | 22 |
|
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). |
| 23 | +<h4 id="quick-start">Quick Start</h4> |
19 | 24 |
|
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. |
| 25 | +For the one's who already know the tool and wanna get started quickly. |
21 | 26 |
|
22 |
| -## Documentation |
| 27 | +You can get the CLI in the following ways |
23 | 28 |
|
24 |
| -The documentation can be read from the `docs` folder of the repository, or on the [website](https://barelyhuman.github.io/commitlog) |
| 29 | +1. You can get the binaries from the [download section](/download) |
25 | 30 |
|
26 |
| -## License |
| 31 | +2. Using `go get` |
27 | 32 |
|
28 |
| -[MIT](/LICENSE) |
| 33 | +```sh |
| 34 | +go get -u github.com/barelyhuman/commitlog |
| 35 | +``` |
| 36 | + |
| 37 | +3. Using goblin |
| 38 | + |
| 39 | +```sh |
| 40 | +curl -sf https://goblin.barelyhuman.xyz/github.com/barelyhuman/commitlog | sh |
| 41 | +``` |
| 42 | + |
| 43 | +Once installed you can just run `commitlog generate` or the shorter version |
| 44 | +`commitlog g` to get all the changes between the recent tags. |
| 45 | + |
| 46 | +<h4 id="about">About</h4> |
| 47 | + |
| 48 | +<h5 id="philosophy">Philosophy</h5> |
| 49 | + |
| 50 | +**_commitlog_** simply exists because I wasn't able to find a decent enough tool |
| 51 | +to do this without being bound to a specific programming language and it's |
| 52 | +toolset. The closes one to this is the `git`'s own `shortlog` and `log` commands |
| 53 | + |
| 54 | +- **Language Agnostic** - No one needs the entire programming toolset or the |
| 55 | + language to be setup on the system to be able to just generate logs |
| 56 | + |
| 57 | +- **Decently Sized** - Not everyone has a powerful system and CI systems are |
| 58 | + still very limited in terms of resources since they give you shared spaces and |
| 59 | + automating generating this is a common practice so it doesn't make sense for |
| 60 | + it to install a runtime worth 100MB to run it. |
| 61 | + |
| 62 | + The binary itself is around 10-13MB which is fairly big for a tool like this |
| 63 | + but this is due to go's nature of embedding the platform runtime with the |
| 64 | + binary and this might not be ideal for some and so there's another similar |
| 65 | + smaller scoped version [nimclog](https://github.com/barelyhuman/nimclog) which |
| 66 | + is in KB's |
| 67 | + |
| 68 | +- **Flexible** - There are no set standards for how you write commit messages. |
| 69 | + Commitlint is a good standard and pretty widely used and also what commitlog |
| 70 | + v1 used as the base for categorizing. |
| 71 | + |
| 72 | + V2 however, doesn't have a set commit category standard, it accepts regex's |
| 73 | + that you will categorize your commits for you. |
| 74 | + |
| 75 | + This is more for experienced developers who have a their own pattern of |
| 76 | + writing commits and would like a tool that'd work with their pattern instead |
| 77 | + of creating friction |
| 78 | + |
| 79 | +- **Extensible** - The entire thing is open source and MIT licenses, |
| 80 | + specifically for you to be able to fix and add things as needed. Each command |
| 81 | + has been kept away from the domain logic to be able to use `commitlog` even as |
| 82 | + a library and build your own tool if you wish to, though if there's something |
| 83 | + you wish the CLI supported, you are free to open issues and I really like |
| 84 | + people helping with the development since that helps keeping the tool alive |
| 85 | + longer. |
| 86 | + |
| 87 | +<h5 id="installation">Installation</h5> |
| 88 | + |
| 89 | +The installation is pretty straightforwad. You [download](/download) the binary |
| 90 | +from the download section of this website or use something like |
| 91 | +[goblin](https://goblin.barelyhuman.xyz) to build the binary for your specific |
| 92 | +system (rarely needed) since the releases actually accommodate the most used |
| 93 | +operating systems and architectures already. |
| 94 | + |
| 95 | +**Linux/Mac (Unix Systems)** |
| 96 | + |
| 97 | +Once downloaded, you can use the `install` command on *nix systems to link the |
| 98 | +binary to a location that's already in your PATH variable. |
| 99 | + |
| 100 | +eg: |
| 101 | + |
| 102 | +```bash |
| 103 | +# install commitlog from current directory to the /usr/local/bin directory |
| 104 | +install $(pwd)/commitlog /usr/local/bin |
| 105 | +``` |
| 106 | + |
| 107 | +This should give you the ability to use the `commitlog` command anywhere in your |
| 108 | +system |
| 109 | + |
| 110 | +**Windows** |
| 111 | + |
| 112 | +Similar to the linux setup, you can download the `.exe` file and add it to a |
| 113 | +location that your environment path already has. An easier thing to do is to |
| 114 | +store the entire thing in your secondary partition and add that location to your |
| 115 | +PATH. You can use this resource from Java docs to help you with modifying the |
| 116 | +PATH variables |
| 117 | + |
| 118 | +- [Modifying PATH in Windows](https://www.java.com/en/download/help/path.html) |
| 119 | + |
| 120 | +<h4 id="manual">Manual</h4> |
| 121 | + |
| 122 | +[Read Manual →](/manual) |
| 123 | + |
| 124 | +<h4 id="license">License</h4> |
| 125 | + |
| 126 | +commitlog is MIT Licensed and you can read the entire license in the [source code](https://github.com/barelyhuman/commitlog) |
0 commit comments