swelog-cli 0.2.0 → 0.4.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 +165 -0
  2. 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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "swelog-cli",
3
- "version": "0.2.0",
3
+ "version": "0.4.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",