You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cargo run -- --project "path_to_any_of_your_local_projects"
49
-
```
50
-
51
-
The app will access `.git` folder inside `path_to_any_of_your_local_projects` directory and create an anonymous profile with your first report on _stackmuncher.com_. Add `--dryrun` flag to generate a report without creating a profile or submitting any data to the Directory. Look at the log printed by the app for details if you want to examine the prepared report.
52
-
53
-
The **default config** of the app assumes that it is run on a development machine from the root folder of a repository you made commits to.
51
+
The app will access the local Git repository for the current directory and create a stack report, but will NOT submit any data to the Directory to let you review the stack report first. It will start updating your profile on subsequent runs unless `--dryrun` flag is used.
54
52
55
53
**Example**
56
54
57
-
I made commits to `~/rust/quickxml_to_serde` project recently and want to test StackMuncher app on it:
55
+
I made commits to `~/rust/xml_to_serde` project recently and now want to test StackMuncher app on it:
58
56
```shell
59
-
~/rust/stm_app$ cargo run -- --project "~/rust/quickxml_to_serde" --log error
60
-
Finished dev [unoptimized + debuginfo] target(s) in 0.06s
Local stack reports: /var/tmp/stackmuncher/reports/home_ubuntu_rust_stm_app_6213a4b2
94
+
Config file: /home/ubuntu/.stm_config/config.json
98
95
```
99
96
The app stored two emails from `--emails` param in its config file and printed its full config info (`config` command). From now on it will look for commits from _max@onebro.me_ and _rimutaka@onebro.me_.
100
97
101
98
## Adding more projects to your profile
102
99
103
100
Adding more of your projects to your Directory Profile builds a more complete picture of your skills. StackMuncher can be configured to keep your profile current as you write and commit more code:
104
101
105
-
1. Build the app with `cargo build --release` from `stm_app` folder.
106
-
2. Add the full absolute path of `stm_app/target/release` folder to `PATH` environment variable. E.g. `echo 'export PATH="$HOME/rust/stm_app/target/release:$PATH"' >> ~/.profile` + log off/on or restart.
107
-
3. Check if you have Git hooks already configured: `git config --get-all init.templatedir`
102
+
1. Make sure `stackmuncher` executable is placed in a folder included in `PATH` environment variable or add its folder to `PATH`.
103
+
2. Check if you have Git hooks already configured: `git config --get-all init.templatedir`
108
104
*_the query returned a value_ - edit your post-commit templates manually
109
105
*_the query returned nothing_ - add a [post-commit Git hook](https://git-scm.com/docs/githooks#_post_commit):
110
106
```bash
@@ -113,7 +109,7 @@ Adding more of your projects to your Directory Profile builds a more complete pi
113
109
echo'stackmuncher --log info 2>&1 >> ~/.stm.log'>>~/.git-templates/hooks/post-commit
114
110
chmod a+x ~/.git-templates/hooks/post-commit
115
111
```
116
-
4. Run `git init` on your existing repos to add the hook from the template.
112
+
3. Run `git init` on your existing repos to add the hook from the template.
117
113
* Any new repos or clones will get the hook added by default.
118
114
* Repos with an existing `hooks/post-commit` file can have the hook added with `echo 'stackmuncher --log info 2>&1 >> ~/.stm.log'>> .git/hooks/post-commit`. Run it from the root of the project folder.
119
115
@@ -123,7 +119,10 @@ You can skip adding the Git hook and run `stackmuncher` from the root of any of
123
119
124
120
## Making your profile public
125
121
126
-
Public profiles are searchable by employers looking for software developers. Your public profile will be created with the same login and personal details as your GitHub profile.
122
+
**Anonymous profiles** are identified by a public key from the key-pair generated by the app on the first run. E.g. https://stackmuncher.com/?dev=9PdHabyyhf4KhHAE1SqdpnbAZEXTHhpkermwfPQcLeFK
123
+
The profile can be viewed by anyone with the link, but it cannot be discovered otherwise.
124
+
125
+
**Public profiles** are searchable by employers looking for software developers. Your public profile will be created with the same login and personal details as your GitHub profile.
127
126
128
127
E.g. https://stackmuncher.com/rimutaka has _contact details_ and _public projects_ from https://github.com/rimutaka as well as _private projects_ from https://stackmuncher.com/?dev=9PdHabyyhf4KhHAE1SqdpnbAZEXTHhpkermwfPQcLeFK.
129
128
@@ -133,40 +132,35 @@ E.g. https://stackmuncher.com/rimutaka has _contact details_ and _public project
133
132
134
133
## Using StackMuncher app on multiple machines
135
134
136
-
1. Clone this repo onto a 2nd machine
137
-
2. Run `cargo run -- config` to bootstrap the app
135
+
1. Download `stackmuncher` executable to a 2nd machine
136
+
2. Run `stackmuncher config`on both machines to see the location of config folders
138
137
3. Copy-paste the contents of `.stm_config/config.json` and `.stm_config/key.txt` from the 1st to the 2nd machine
139
138
140
-
The 2nd machine will be connected to the same Developer Profile as the first one for as long as they share the same _key.txt_ file. If you loose the key file the app will generate a new one and create a new Developer Profile. Contact us on info@stackmuncher.com to merge the old profile into the new one.
139
+
The 2nd machine will be connected to the same Developer Profile as the first one for as long as they share the same _key.txt_ and _config.json_ files. If you loose the key file the app will generate a new one and create a new Developer Profile. Contact us on info@stackmuncher.com to merge the old profile into the new one.
141
140
142
141
## Detailed usage instructions
143
142
144
-
Running `stackmuncher` without any additional params generates a report forthe projectin the current working directory and updates your developer profile.
145
-
146
-
Anonymous profiles are identified by a public key from the key-pair generated by the app on the first run. E.g. https://stackmuncher.com/?dev=9PdHabyyhf4KhHAE1SqdpnbAZEXTHhpkermwfPQcLeFK
147
-
The key is located in the app's config folder and can be copied to another machine to connect to the same developer profile. Run `stackmuncher config` command to see the exact location of the config folder.
143
+
Running `stackmuncher` without any additional params generates a report forthe projectin the current working directory and updates your Developer Profile.
148
144
149
-
### Additional options
150
-
151
-
Some of the app's settings are cached in a local config file and only need to be set once. You can set, change or unset them via CLI params or by editing the config file directly.
145
+
Some of the app's settings are cached in a local config file and only need to be set once. You can set, change or unset them via CLI params or by editing _.stm_config/config.json_ file directly.
152
146
153
147
#### Processing settings
154
148
155
-
*`--emails "me@example.com,me@google.com"`: a list of your email addresses usingin commits to include the report. Defaults to `git config user.email`. Run `git shortlog -s -e --all` to check if you made commits under other email addresses. Set once.
156
-
*`--project "path_to_project_to_be_analyzed"`: an optional relative or absolute path to the project/repo to generate a report for, defaults to the current working directory.
149
+
* `--emails "me@example.com,me@google.com"` : a list of your email addresses used in commits to to be analyzed. Defaults to `git config user.email`. Run `git shortlog -s -e --all` to check if you made commits under other email addresses. _Set once._
150
+
* `--project "path_to_project_to_be_analyzed"`: an optional relative or absolute path to the project/repo to analyze, defaults to the current working directory.
157
151
* `--dryrun`: tells the app to generate a report, save it locally, but not upload anything to the Directory.
Local stack reports: /var/tmp/stackmuncher/reports
177
+
Config file: /home/ubuntu/.stm_config/config.json
184
178
```
185
179
186
180
#### Debug settings
187
181
188
182
* `--log error|warn|info|debug|trace`: the log is written to _stdout_. Defaults to `error` for least verbose output. Redirect the output to a file or _null device_ to completely silence it. E.g. `stackmuncher --log debug >> ~/stm_trace.log`
189
-
*`--reports "path to reports folder"`: a path to an alternative location for saving stack reports. The path can be relative or absolute. Defaults to the application folder.
190
-
*`--config "path to config folder"`: a path to an alternative location of the config folder. The path can be relative or absolute. Defaults to the application folder.
183
+
* `--reports "path to reports folder"`: a path to an alternative location for saving stack reports. The path can be relative or absolute. Defaults to a platform-specific user-data location.
184
+
* `--config "path to config folder"`: a path to an alternative location of the config folder. The path can be relative or absolute. Defaults to a platform-specific user-data location.
191
185
192
186
#### Additional info
193
187
194
-
*`stackmuncher help`: displays usage info
188
+
* `stackmuncher help`: displays usage info.
195
189
* `stackmuncher config`: display the contents of the config file and its location. The config file can be edited manually.
196
190
197
191
## Limitations
198
192
199
193
_The current version of the app is at alpha-stage and should be used for testing purposes only._
200
194
201
195
1. Only a small number of computer languages are recognized.
202
-
2. The app may include private library names in the report - do not use it on commercially-sensitive projects.
196
+
2. The app may unintentionally include private library names in the report - do not use it on commercially-sensitive projects.
203
197
3. The only way to delete a profile is to email info@stackmuncher.com.
204
198
4. It may take up to 2 minutes for a profile to be created/updated after a report submission.
205
199
5. Very large reports (over 50MB) are likely to be rejected.
@@ -219,10 +213,20 @@ We want to hear about as many issues users run into as possible. Copy-paste the
219
213
* look through the log it printed for clues
220
214
* run `stackmuncher config` and check the output in `reports` folder - there should be at least 4 files:
221
215
* _project_report.json_: includes all contributors
222
-
* _combined_report.json_: a combined report for authors/committers from Git's `user.email` setting and from `--emails` param
216
+
* _combined_report.json_: a combined report for authors/committers from Git's `user.email` setting or from `--emails` param
223
217
* _submission.json_: a sanitized version of the combined report exactly as it is submitted to the Directory
224
218
* _contributor_xxxxxxxx.json_: cached reports for individual contributors
225
219
220
+
## Building from source
221
+
222
+
Assuming that you have Git and a [Rust toolchain](https://www.rust-lang.org/tools/install) installed, just clone the repo and run the app:
Copy file name to clipboardExpand all lines: distro/README.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ deb builds rely on [cargo-deb](https://crates.io/crates/cargo-deb) crate. See co
31
31
32
32
## Windows
33
33
34
-
The current MSIX config produces a *full trust* Windows App, which should be *partial trust* with only local folder access. See https://github.com/stackmuncher/stm/issues/11
34
+
The current MSIX config produces a *full trust* Windows App, which should be *partial trust* with only local folder access. See https://github.com/stackmuncher/stm_app/issues/11
0 commit comments