swelog-cli 0.3.0 → 0.5.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 +165 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
<!-- markdownlint-disable MD033-->
|
|
2
|
+
|
|
3
|
+
# swelog-cli
|
|
4
|
+
|
|
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
|
+
`swelog-cli` is a Rust CLI for tracking daily accomplishments in Obsidian.
|
|
15
|
+
|
|
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.
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
Install with npm:
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
npm install -g swelog-cli
|
|
26
|
+
```
|
|
27
|
+
|
|
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
|
+
- un `swelog reset` to reset your work file to its default content
|
|
53
|
+
|
|
54
|
+
## Configuration
|
|
55
|
+
|
|
56
|
+
### AI Summarization
|
|
57
|
+
|
|
58
|
+
By default, swelog uses Ollama:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"llm": "ollama",
|
|
63
|
+
"ollamaModel": "llama3.2"
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
To use OpenAI instead, set the provider and model in your config:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"llm": "openAi",
|
|
72
|
+
"openAiModel": "gpt-5.4-mini"
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Then provide your OpenAI API key through the environment before running
|
|
77
|
+
`swelog summarize`:
|
|
78
|
+
|
|
79
|
+
```sh
|
|
80
|
+
export OPENAI_API_KEY="your_api_key_here"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Do not store your OpenAI API key in the swelog config file.
|
|
84
|
+
|
|
85
|
+
### GitHub Integration
|
|
86
|
+
|
|
87
|
+
To fetch your GitHub PR activity and add it to your work file, you need to provide your GitHub token.
|
|
88
|
+
|
|
89
|
+
```sh
|
|
90
|
+
export GITHUB_TOKEN="your_github_token_here"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Do not store your GitHub token in the swelog config file.
|
|
94
|
+
|
|
95
|
+
## Contributing
|
|
96
|
+
|
|
97
|
+
### Prerequisites
|
|
98
|
+
|
|
99
|
+
Please have the following installed on your machine:
|
|
100
|
+
|
|
101
|
+
- Rust
|
|
102
|
+
- Just
|
|
103
|
+
- Ollama, when using the default Ollama provider
|
|
104
|
+
- Obsidian
|
|
105
|
+
|
|
106
|
+
### Development
|
|
107
|
+
|
|
108
|
+
Run the binary locally:
|
|
109
|
+
|
|
110
|
+
```sh
|
|
111
|
+
just run --help
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Format the workspace:
|
|
115
|
+
|
|
116
|
+
```sh
|
|
117
|
+
just format
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Build the workspace:
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
just build
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Run all tests:
|
|
127
|
+
|
|
128
|
+
```sh
|
|
129
|
+
just test
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Run Clippy:
|
|
133
|
+
|
|
134
|
+
```sh
|
|
135
|
+
just clippy
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Run the full pull request check:
|
|
139
|
+
|
|
140
|
+
```sh
|
|
141
|
+
just pr
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Pull Request Process
|
|
145
|
+
|
|
146
|
+
Branch protections are enabled on this repository.
|
|
147
|
+
|
|
148
|
+
To contribute, please create a new branch and make a pull request.
|
|
149
|
+
|
|
150
|
+
The rules for branch names are lax, just be sure to include your name.
|
|
151
|
+
|
|
152
|
+
An example branch name for a change that adds weekly log generation would be:
|
|
153
|
+
|
|
154
|
+
```text
|
|
155
|
+
rudra-weekly-log-generation
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Your pull request title must follow the conventional commits specification. An
|
|
159
|
+
example of a valid pull request title is:
|
|
160
|
+
|
|
161
|
+
```text
|
|
162
|
+
feat: Add weekly log generation
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
All PRs must pass `just pr`, which checks formatting, linting, and tests.
|