1- [ ![ Version] ( https://img.shields.io/github/v/release/milosmns/code-stats?label=Latest&color=green )] ( ./releases )   ;
2- [ ![ Build Status] ( https://img.shields.io/github/actions/workflow/status/milosmns/code-stats/build-ga.yaml?label=Build )] ( ./actions/workflows/build-ga.yaml )   ;
3- [ ![ License: NT-GPL v3] ( https://img.shields.io/badge/License-NTGPLv3-blue )] ( ./LICENSE )   ;
4- [ ![ Issues] ( https://img.shields.io/github/issues-raw/milosmns/code-stats?label=Issues&color=gold )] ( ./issues )   ;
5- [ ![ Discussions] ( https://img.shields.io/github/discussions/milosmns/code-stats?label=Discussions&color=pink )] ( ./discussions )   ;
1+ [ ![ Version] ( https://img.shields.io/github/v/release/milosmns/code-stats?label=Latest&color=green )] ( https://github.com/milosmns/code-stats/releases )
2+   ;
3+ [ ![ Build Status] ( https://img.shields.io/github/actions/workflow/status/milosmns/code-stats/build-ga.yaml?label=Build )] ( https://github.com/milosmns/code-stats/actions/workflows/build-ga.yaml )
4+   ;
5+ [ ![ License: NT-GPL v3] ( https://img.shields.io/badge/License-NTGPLv3-blue )] ( ./LICENSE )
6+   ;
7+ [ ![ Issues] ( https://img.shields.io/github/issues-raw/milosmns/code-stats?label=Issues&color=gold )] ( https://github.com/milosmns/code-stats/issues )
8+   ;
9+ [ ![ Discussions] ( https://img.shields.io/github/discussions/milosmns/code-stats?label=Discussions&color=pink )] ( https://github.com/milosmns/code-stats/discussions )
10+   ;
611
712[ // ] : # ( Inspired by https://github.com/othneildrew/Best-README-Template/blob/master/BLANK_README.md )
813
914<br />
1015<br />
11- <div align =" center " >
16+ <div style =" text-align : center " >
17+ <!-- suppress CheckImageSize -->
1218 <img src =" ./readme/media/code-stats-logo-icon.png " alt =" Logo " width =" 128 " height =" 128 " >
1319 <h3 >Code Stats</h3 >
1420
1824 Dive in and transform your team workflows!
1925 <br/>
2026 <br/>
21- <a href=". /issues">Report a bug</a>
27+ <a href="https://github.com/milosmns/code-stats /issues">Report a bug</a>
2228 ·
23- <a href=". /issues">Request a feature</a>
29+ <a href="https://github.com/milosmns/code-stats /issues">Request a feature</a>
2430 ·
25- <a href=". /discussions">Meet & say thanks</a>
31+ <a href="https://github.com/milosmns/code-stats /discussions">Meet & say thanks</a>
2632 </p >
2733</div >
2834
2935### Built using
3036
31- [ ![ Kotlin] ( https://img.shields.io/badge/kotlin-37F52FF.svg?style=for-the-badge&logo=kotlin&logoColor=white )] ( https://kotlinlang.org )   ;
32- [ ![ Ktor] ( https://img.shields.io/badge/ktor-07405E.svg?style=for-the-badge&logo=kotlin&logoColor=white )] ( https://ktor.io )   ;
33- [ ![ SQLDelight] ( https://img.shields.io/badge/SQL%20Delight-07405E.svg?style=for-the-badge&logo=kotlin&logoColor=white )] ( https://github.com/cashapp/sqldelight )   ;
34- [ ![ SQLite] ( https://img.shields.io/badge/sqlite-FF405E.svg?style=for-the-badge&logo=sqlite&logoColor=white )] ( https://www.sqlite.org )   ;
35-
36- [ ![ HTML5] ( https://img.shields.io/badge/html5-E34F26.svg?style=for-the-badge&logo=html5&logoColor=white )] ( https://www.w3schools.com/html )   ;
37- [ ![ Bootstrap] ( https://img.shields.io/badge/bootstrap-8511FA.svg?style=for-the-badge&logo=bootstrap&logoColor=white )] ( https://getbootstrap.com )   ;
38- [ ![ JavaScript] ( https://img.shields.io/badge/javascript-323330.svg?style=for-the-badge&logo=javascript&logoColor=F7DF1E )] ( https://www.javascript.com )   ;
39- [ ![ Chart.js] ( https://img.shields.io/badge/chart.js-F5788D.svg?style=for-the-badge&logo=chart.js&logoColor=white )] ( https://www.chartjs.org )   ;
37+ [ ![ Kotlin] ( https://img.shields.io/badge/kotlin-37F52FF.svg?style=for-the-badge&logo=kotlin&logoColor=white )] ( https://kotlinlang.org )
38+   ;
39+ [ ![ Ktor] ( https://img.shields.io/badge/ktor-07405E.svg?style=for-the-badge&logo=kotlin&logoColor=white )] ( https://ktor.io )
40+   ;
41+ [ ![ SQLDelight] ( https://img.shields.io/badge/SQL%20Delight-07405E.svg?style=for-the-badge&logo=kotlin&logoColor=white )] ( https://github.com/cashapp/sqldelight )
42+   ;
43+ [ ![ SQLite] ( https://img.shields.io/badge/sqlite-FF405E.svg?style=for-the-badge&logo=sqlite&logoColor=white )] ( https://www.sqlite.org )
44+   ;
45+
46+ [ ![ HTML5] ( https://img.shields.io/badge/html5-E34F26.svg?style=for-the-badge&logo=html5&logoColor=white )] ( https://www.w3schools.com/html )
47+   ;
48+ [ ![ Bootstrap] ( https://img.shields.io/badge/bootstrap-8511FA.svg?style=for-the-badge&logo=bootstrap&logoColor=white )] ( https://getbootstrap.com )
49+   ;
50+ [ ![ JavaScript] ( https://img.shields.io/badge/javascript-323330.svg?style=for-the-badge&logo=javascript&logoColor=F7DF1E )] ( https://www.javascript.com )
51+   ;
52+ [ ![ Chart.js] ( https://img.shields.io/badge/chart.js-F5788D.svg?style=for-the-badge&logo=chart.js&logoColor=white )] ( https://www.chartjs.org )
53+   ;
4054
4155#### Support
4256
@@ -56,7 +70,8 @@ However, the GitHub page leaves a lot to be desired.
5670For example, have you ever wondered about your project's [ Cycle Time] ( https://tulip.co/blog/cycle-vs-lead-vs-takt ) ?
5771Are you blocking each other, or things are moving smoothly through your development pipeline?
5872Have you wondered about the evolution of this metric over time?
59- This metric (and many more) can be computed using the raw contribution data available in code repositories and at GitHub.
73+ This metric (and many more) can be computed using the raw contribution data available
74+ in code repositories and at GitHub.
6075
6176To make time theft more visible, Code Stats aims to provide an alternative interface to GitHub's insights pages.
6277Take a look at some of the examples below.
@@ -66,9 +81,10 @@ Take a look at some of the examples below.
6681
6782## Getting Started
6883
69- The project is build with [ Kotlin/Native] ( https://kotlinlang.org/docs/native-overview.html ) (supporting multi-platform native binaries).
84+ The project is build with [ Kotlin/Native] ( https://kotlinlang.org/docs/native-overview.html )
85+ (supporting multi-platform native binaries).
7086However, due to complications with the automation pipelines and some issues with Kotlin's native compiler (Konan),
71- native binaries are <u >** temporarily** disabled</u >.
87+ native binary outputs are <u >** temporarily** disabled</u >.
7288
7389For the time being, you can still use the packages available for the Java Virtual Machine (JVM).
7490
@@ -83,21 +99,22 @@ This is done by setting an environment variable called `GITHUB_TOKEN`.
8399
84100To run the JVM flavor, you need:
85101
86- * Java installed and available on the Path; OpenJDK is fine.
102+ * Java installed and available on the Path; OpenJDK is fine.
87103
88104### Prerequisites for building
89105
90106##### JVM
91107
92108To build the JVM flavor, you need:
93109
94- * Java installed and available on the Path; OpenJDK is fine.
110+ * Java installed and available on the Path; OpenJDK is fine.
95111
96112## How to run
97113
98114##### JVM
99115
100- Simply download the latest version from [ Releases] ( ./releases ) and run it using Java:
116+ Simply download the latest version from [ Releases] ( https://github.com/milosmns/code-stats/releases )
117+ and run it using Java:
101118
102119``` console
103120$ java -jar codestats.jar --help
@@ -107,13 +124,15 @@ $ java -jar codestats.jar --help
107124
108125##### JVM
109126
110- Clone the project's repository to your local machine. Then, from the project's root directory run:
127+ Clone the project's repository to your local machine.
128+ Then, from the project's root directory run:
111129
112130``` console
113131$ ./gradlew shadowJar
114132```
115133
116- Your output should be exactly the same as the [ latest Release] ( ./releases ) , and stored in ` build/libs/codestats.jar ` .
134+ Your output should be exactly the same as the [ latest Release] ( https://github.com/milosmns/code-stats/releases ) ,
135+ and stored in ` build/libs/codestats.jar ` .
117136
118137## Usage
119138
@@ -131,11 +150,11 @@ $ codestats --help
131150
132151There are several modes that Code Stats can run in.
133152
134- 1 . ** Fetch** – fetches fresh contribution data and stores it locally for analysis
135- 1 . ** Print** – calculates and prints all of the code stats (metrics) to ` stdout `
136- 1 . ** Report** – prints a short report on what data is available locally
137- 1 . ** Serve** – launches a backend server locally, and prints the access URL for the web UI
138- 1 . ** Purge** – deletes all locally stored data
153+ 1 . ** Fetch** – fetches fresh contribution data and stores it locally for analysis
154+ 1 . ** Print** – calculates and prints all the code stats (metrics) to ` stdout `
155+ 1 . ** Report** – prints a short report on what data is available locally
156+ 1 . ** Serve** – launches a backend server locally, and prints the access URL for the web UI
157+ 1 . ** Purge** – deletes all locally stored data
139158
140159To choose a mode, simply add a ` --mode ` modifier:
141160
@@ -155,10 +174,10 @@ owner: nasa # GitHub repository owner
155174startDate : 2023-01-01 # no data before this date
156175endDate : 2023-03-15 # no data after this date
157176
158- teams : # all teams you'd like to inspect
177+ teams : # all teams you'd like to inspect
159178 - title : Flight Team # GitHub user-friendly team name
160179 name : nasa-flight # GitHub team ID
161- codeRepositories : # where the code lives
180+ codeRepositories : # where the code lives
162181 - openmct
163182 - HyperCP
164183 - cmr-stac
@@ -179,15 +198,15 @@ You can also refer to the [sample configuration file](./src/commonMain/resources
179198
180199There are even more configuration options you can use as environment variables :
181200
182- * <font color="red">`GITHUB_TOKEN`</font> – the (mandatory) authentication token for communicating with GitHub
183- * `GITHUB_URL` – a REST GitHub Enterprise URL; default is `api.github.com`
184- * `GITHUB_GRAPHQL_URL` – a GraphQL GitHub Enterprise URL; default is `api.github.com/graphql`
185- * `GITHUB_PAGING_LIMIT` – how many items to fetch per page (when paging); default is `100`
186- * `GITHUB_VERBOSE` – whether to print verbose update in the console; default is `false`
187- * `GITHUB_PRINT_PROGRESS` – whether to print progress updates for GitHub API fetch; default is `true`
188- * `GITHUB_RATE_LIMIT_DELAY_MILLIS` – a rate-limiting delay for requests to GitHub; default is `2.1s`
189- * `DATABASE_PATH` – which local database to use (file path); default is `code-stats.db`
190- * `STATS_PORT_API` – on which port to launch the server for the web UI; default is `8080`
201+ * <font color="red">`GITHUB_TOKEN`</font> – the (mandatory) authentication token for communicating with GitHub
202+ * `GITHUB_URL` – a REST GitHub Enterprise URL; default is `api.github.com`
203+ * `GITHUB_GRAPHQL_URL` – a GraphQL GitHub Enterprise URL; default is `api.github.com/graphql`
204+ * `GITHUB_PAGING_LIMIT` – how many items to fetch per page (when paging); default is `100`
205+ * `GITHUB_VERBOSE` – whether to print verbose update in the console; default is `false`
206+ * `GITHUB_PRINT_PROGRESS` – whether to print progress updates for GitHub API fetch; default is `true`
207+ * `GITHUB_RATE_LIMIT_DELAY_MILLIS` – a rate-limiting delay for requests to GitHub; default is `2.1s`
208+ * `DATABASE_PATH` – which local database to use (file path); default is `code-stats.db`
209+ * `STATS_PORT_API` – on which port to launch the server for the web UI; default is `8080`
191210
192211The executable will automatically read these variables and apply them before running.
193212
@@ -200,5 +219,5 @@ To read the contributions guideline, go to [CONTRIBUTING](./CONTRIBUTING).
200219
201220# # License
202221
203- Distributed under the Non-Toxic GNU GPL v3 License.
222+ Distributed under the Non-Toxic GNU GPL v3 License.
204223See [LICENSE](./LICENSE) for more information about this particular license.
0 commit comments