swelog-cli 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -187
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,210 +1,47 @@
|
|
|
1
|
-
<!-- markdownlint-disable MD033-->
|
|
2
|
-
|
|
3
1
|
# swelog-cli
|
|
4
2
|
|
|
5
|
-
<h1 align="center">
|
|
6
|
-
<br>
|
|
7
|
-
<img src="./assets/repository-banner.png" alt="Repository Banner" width="20%">
|
|
8
|
-
<br>
|
|
9
|
-
swelog-cli
|
|
10
|
-
</h1>
|
|
11
|
-
|
|
12
|
-
## Description
|
|
13
|
-
|
|
14
3
|
`swelog-cli` is a Rust CLI for tracking daily accomplishments in Obsidian.
|
|
15
4
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Then, aggregate the daily logs into a weekly log for more long-term tracking.
|
|
5
|
+
Capture raw notes and optional integration activity throughout the day, summarize
|
|
6
|
+
them into daily logs with an LLM, and combine daily logs into a weekly summary.
|
|
19
7
|
|
|
20
8
|
## Installation
|
|
21
9
|
|
|
22
|
-
Install with npm:
|
|
10
|
+
Install the CLI with npm:
|
|
23
11
|
|
|
24
12
|
```sh
|
|
25
13
|
npm install -g swelog-cli
|
|
26
14
|
```
|
|
27
15
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
### Getting Started
|
|
31
|
-
|
|
32
|
-
- Run `swelog init` to create a default config file
|
|
33
|
-
|
|
34
|
-
- Update the config file with your Obsidian vault path and model provider
|
|
35
|
-
|
|
36
|
-
- Run `swelog setup` to create the default swelog files in your Obsidian vault
|
|
37
|
-
|
|
38
|
-
- Update the context file with information about your role, team, and current priorities
|
|
39
|
-
|
|
40
|
-
### Daily Workflow
|
|
41
|
-
|
|
42
|
-
- Add notes throughout the day with `swelog log "Meeting with manager"` or manually in Obsidian
|
|
43
|
-
|
|
44
|
-
- Run `swelog fetch github` to fetch your GitHub PR activity and add it to your work file
|
|
45
|
-
|
|
46
|
-
- Run `swelog summarize` or `swelog summarize day` to generate a daily log
|
|
47
|
-
|
|
48
|
-
- Run `swelog summarize week` to generate a weekly log
|
|
49
|
-
|
|
50
|
-
### Other
|
|
51
|
-
|
|
52
|
-
- Run `swelog reset` to reset your work file to its default content
|
|
53
|
-
|
|
54
|
-
- Run `swelog config` to display your current configuration and where it is stored
|
|
55
|
-
|
|
56
|
-
## Configuration
|
|
57
|
-
|
|
58
|
-
`swelog init` writes a config file to your OS config directory at
|
|
59
|
-
`swelog/swelog.json` (for example `~/.config/swelog/swelog.json` on Linux). The
|
|
60
|
-
default config looks like this:
|
|
61
|
-
|
|
62
|
-
```json
|
|
63
|
-
{
|
|
64
|
-
"obsidianVaultPath": "",
|
|
65
|
-
"swelogFolderName": "swelog",
|
|
66
|
-
"workFileName": "WORK.md",
|
|
67
|
-
"contextFileName": "CONTEXT.md",
|
|
68
|
-
"dailyLogFolderName": "Daily",
|
|
69
|
-
"weeklyLogFolderName": "Weekly",
|
|
70
|
-
"llm": "ollama",
|
|
71
|
-
"llmModel": "llama3.2"
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
Every field is described below. All of the swelog files and folders live inside
|
|
76
|
-
`<obsidianVaultPath>/<swelogFolderName>`.
|
|
77
|
-
|
|
78
|
-
| Field | Description |
|
|
79
|
-
| --- | --- |
|
|
80
|
-
| `obsidianVaultPath` | Absolute path to your Obsidian vault. Empty by default; you must set this before running other commands, otherwise swelog errors out. |
|
|
81
|
-
| `swelogFolderName` | Name of the folder created inside your vault that holds all swelog files. |
|
|
82
|
-
| `workFileName` | Name of the file where you collect raw daily work notes. |
|
|
83
|
-
| `contextFileName` | Name of the file holding context about your role, team, and priorities, which is fed to the LLM during summarization. |
|
|
84
|
-
| `dailyLogFolderName` | Name of the folder (inside the swelog folder) where generated daily logs are stored. |
|
|
85
|
-
| `weeklyLogFolderName` | Name of the folder (inside the swelog folder) where generated weekly logs are stored. |
|
|
86
|
-
| `llm` | LLM provider used for summarization. One of `ollama`, `openAi`, or `openRouter`. |
|
|
87
|
-
| `llmModel` | Model used for summarization, interpreted by whichever provider `llm` names. Examples: `llama3.2` for `ollama`, `gpt-5.4-mini` for `openAi`, `openai/gpt-5.4-mini` for `openRouter`. |
|
|
88
|
-
|
|
89
|
-
### AI Summarization
|
|
90
|
-
|
|
91
|
-
Configure your desired LLM provider and model in your config file.
|
|
92
|
-
|
|
93
|
-
#### Ollama
|
|
94
|
-
|
|
95
|
-
To use Ollama, ensure it is up and running at `localhost:11434` before running `swelog summarize`.
|
|
96
|
-
|
|
97
|
-
#### OpenAI
|
|
98
|
-
|
|
99
|
-
To use OpenAI, provide your OpenAI API key through the environment before running
|
|
100
|
-
`swelog summarize`:
|
|
101
|
-
|
|
102
|
-
```sh
|
|
103
|
-
export OPENAI_API_KEY="your_api_key_here"
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Do not store your OpenAI API key in the swelog config file.
|
|
107
|
-
|
|
108
|
-
#### OpenRouter
|
|
109
|
-
|
|
110
|
-
To use OpenRouter, provide your OpenRouter API key through the environment before running
|
|
111
|
-
`swelog summarize`:
|
|
16
|
+
Confirm the installation:
|
|
112
17
|
|
|
113
18
|
```sh
|
|
114
|
-
|
|
19
|
+
swelog --help
|
|
115
20
|
```
|
|
116
21
|
|
|
117
|
-
|
|
22
|
+
## Getting Started
|
|
118
23
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
format. Non-OpenAI models will not work.
|
|
122
|
-
|
|
123
|
-
### GitHub Integration
|
|
124
|
-
|
|
125
|
-
To fetch your GitHub PR activity and add it to your work file, you need to provide your GitHub token.
|
|
126
|
-
|
|
127
|
-
```sh
|
|
128
|
-
export GITHUB_TOKEN="your_github_token_here"
|
|
129
|
-
```
|
|
24
|
+
Full documentation lives at
|
|
25
|
+
**[the swelog docs site](https://swelog-cli.vercel.app/)**, including:
|
|
130
26
|
|
|
131
|
-
|
|
27
|
+
- [Quick Start](https://swelog-cli.vercel.app/getting-started/quick-start/) —
|
|
28
|
+
configure your vault and record your first summarized day
|
|
29
|
+
- [Configuration](https://swelog-cli.vercel.app/getting-started/configuration/)
|
|
30
|
+
— every field in `swelog.json`
|
|
31
|
+
- [Summarization](https://swelog-cli.vercel.app/summarization/) — daily and
|
|
32
|
+
weekly logs, and the Ollama, OpenAI, and OpenRouter providers
|
|
33
|
+
- [Integrations](https://swelog-cli.vercel.app/integrations/) — pull activity
|
|
34
|
+
from GitHub and Linear
|
|
35
|
+
- [Authentication](https://swelog-cli.vercel.app/reference/authentication/) —
|
|
36
|
+
how credentials are stored and cleared
|
|
37
|
+
- [Command reference](https://swelog-cli.vercel.app/reference/commands/) — the
|
|
38
|
+
full command tree
|
|
132
39
|
|
|
133
40
|
## Contributing
|
|
134
41
|
|
|
135
|
-
|
|
42
|
+
Source, issues, and contributing guidelines live on
|
|
43
|
+
[GitHub](https://github.com/RudraPatel2003/swelog-cli).
|
|
136
44
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
- Rust
|
|
140
|
-
- Just
|
|
141
|
-
- Ollama, when using the default Ollama provider
|
|
142
|
-
- An OpenAI / OpenRouter API key, when using the OpenAI / OpenRouter provider
|
|
143
|
-
- Obsidian
|
|
144
|
-
|
|
145
|
-
### Development
|
|
146
|
-
|
|
147
|
-
Run the binary locally:
|
|
148
|
-
|
|
149
|
-
```sh
|
|
150
|
-
just run --help
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
Format the workspace:
|
|
154
|
-
|
|
155
|
-
```sh
|
|
156
|
-
just format
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
Build the workspace:
|
|
160
|
-
|
|
161
|
-
```sh
|
|
162
|
-
just build
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
Run all tests:
|
|
166
|
-
|
|
167
|
-
```sh
|
|
168
|
-
just test
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
Run Clippy:
|
|
172
|
-
|
|
173
|
-
```sh
|
|
174
|
-
just clippy
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
Run the full pull request check:
|
|
178
|
-
|
|
179
|
-
```sh
|
|
180
|
-
just pr
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
Update the version of the CLI when preparing for a release:
|
|
184
|
-
|
|
185
|
-
```sh
|
|
186
|
-
just update-release-version <release-tag>
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### Pull Request Process
|
|
190
|
-
|
|
191
|
-
Branch protections are enabled on this repository.
|
|
192
|
-
|
|
193
|
-
To contribute, please create a new branch and make a pull request.
|
|
194
|
-
|
|
195
|
-
The rules for branch names are lax, just be sure to include your name.
|
|
196
|
-
|
|
197
|
-
An example branch name for a change that adds weekly log generation would be:
|
|
198
|
-
|
|
199
|
-
```text
|
|
200
|
-
rudra-weekly-log-generation
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
Your pull request title must follow the conventional commits specification. An
|
|
204
|
-
example of a valid pull request title is:
|
|
205
|
-
|
|
206
|
-
```text
|
|
207
|
-
feat: Add weekly log generation
|
|
208
|
-
```
|
|
45
|
+
## License
|
|
209
46
|
|
|
210
|
-
|
|
47
|
+
`swelog-cli` is released under the MIT License.
|