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.
Files changed (2) hide show
  1. package/README.md +24 -187
  2. 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
- The tool creates a small set of Markdown files in your Obsidian vault. Collect raw work notes throughout the day, and use LLMs to summarize the notes into a daily work log.
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
- ## Usage
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
- export OPENROUTER_API_KEY="your_api_key_here"
19
+ swelog --help
115
20
  ```
116
21
 
117
- Do not store your OpenRouter API key in the swelog config file.
22
+ ## Getting Started
118
23
 
119
- `llmModel` must be an OpenAI model slug prefixed with `openai/` (for example
120
- `openai/gpt-5.4-mini`), since swelog talks to OpenRouter using OpenAI's Responses API
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
- Do not store your GitHub token in the swelog config file.
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
- ### Prerequisites
42
+ Source, issues, and contributing guidelines live on
43
+ [GitHub](https://github.com/RudraPatel2003/swelog-cli).
136
44
 
137
- Please have the following installed on your machine:
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
- All PRs must pass `just pr`, which checks formatting, linting, and tests.
47
+ `swelog-cli` is released under the MIT License.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "swelog-cli",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "A Rust CLI to track your daily accomplishments in Obsidian",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/RudraPatel2003/swelog-cli",