blogwatcher-cli
SKILL.md
BlogWatcher CLI
Quick Orientation
- Use the Cobra entry point in
cmd/blogwatcher/main.goandinternal/cli/. - Route business logic through
internal/controllerand persistence throughinternal/storage. - Use scanning pipeline packages in
internal/scanner,internal/rss, andinternal/scraper. - Remember the default SQLite path is
~/.blogwatcher/blogwatcher.dband is created on demand.
Run Commands
- Run locally with
go run ./cmd/blogwatcher .... - Build with
go build ./cmd/blogwatcher.
Change Workflow
- Add or adjust CLI commands in
internal/cli/commands.go(Cobra options, arguments, output formatting). - Put non-trivial logic in
internal/controllerso the CLI stays thin and testable. - Update storage or schema in
internal/storage/database.goand adjust model conversion ininternal/modelif needed. - Modify scanning behavior in
internal/scannerand its helpers (internal/rss,internal/scraper). - Update or add tests under
internal/orcmd/for every feature change or addition.
Test Guidance
- Run tests with
go test ./.... - If you add a feature, add tests and any necessary dummy data.
- Keep tests focused on CLI behavior, controller logic, and scraper/RSS parsing outcomes.
Output Conventions
- Preserve user-friendly CLI output with colors and clear errors.
- When listing posts available for reading, always include the link to each post in the output.
- Keep error handling consistent with existing exceptions (
BlogNotFoundError,BlogAlreadyExistsError,ArticleNotFoundError).
Example (posts available for reading)
Unread articles (2):
[12] [new] Understanding Click Contexts
Blog: Real Python
URL: https://realpython.com/click-context/
Published: 2025-11-02
[13] [new] Async IO in Practice
Blog: Test & Code
URL: https://testandcode.com/async-io-in-practice/
Weekly Installs
8
Repository
hyaxia/blogwatcherGitHub Stars
79
First Seen
Feb 18, 2026
Security Audits
Installed on
opencode7
gemini-cli7
github-copilot7
codex7
cline7
cursor7