swelog-cli
v0.6.0
Published
A Rust CLI to track your daily accomplishments in Obsidian
Readme
swelog-cli
Description
swelog-cli is a Rust CLI for tracking daily accomplishments in Obsidian.
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.
Then, aggregate the daily logs into a weekly log for more long-term tracking.
Installation
Install with npm:
npm install -g swelog-cliUsage
Getting Started
Run
swelog initto create a default config fileUpdate the config file with your Obsidian vault path and model provider
Run
swelog setupto create the default swelog files in your Obsidian vaultUpdate the context file with information about your role, team, and current priorities
Daily Workflow
Add notes throughout the day with
swelog log "Meeting with manager"or manually in ObsidianRun
swelog fetch githubto fetch your GitHub PR activity and add it to your work fileRun
swelog summarizeorswelog summarize dayto generate a daily logRun
swelog summarize weekto generate a weekly log
Other
- un
swelog resetto reset your work file to its default content
Configuration
AI Summarization
By default, swelog uses Ollama:
{
"llm": "ollama",
"ollamaModel": "llama3.2"
}To use OpenAI instead, set the provider and model in your config:
{
"llm": "openAi",
"openAiModel": "gpt-5.4-mini"
}Then provide your OpenAI API key through the environment before running
swelog summarize:
export OPENAI_API_KEY="your_api_key_here"Do not store your OpenAI API key in the swelog config file.
GitHub Integration
To fetch your GitHub PR activity and add it to your work file, you need to provide your GitHub token.
export GITHUB_TOKEN="your_github_token_here"Do not store your GitHub token in the swelog config file.
Contributing
Prerequisites
Please have the following installed on your machine:
- Rust
- Just
- Ollama, when using the default Ollama provider
- Obsidian
Development
Run the binary locally:
just run --helpFormat the workspace:
just formatBuild the workspace:
just buildRun all tests:
just testRun Clippy:
just clippyRun the full pull request check:
just prPull Request Process
Branch protections are enabled on this repository.
To contribute, please create a new branch and make a pull request.
The rules for branch names are lax, just be sure to include your name.
An example branch name for a change that adds weekly log generation would be:
rudra-weekly-log-generationYour pull request title must follow the conventional commits specification. An example of a valid pull request title is:
feat: Add weekly log generationAll PRs must pass just pr, which checks formatting, linting, and tests.
