Coding
PromptBeginner5 minmarkdown
Markdown Converter
Agent skill for markdown-converter
7
- **Build**: `go build ./...`
Sign in to like and favorite skills
go build ./...golangci-lint run (runs formatting, vet, staticcheck, errcheck, etc.)go test ./... -vgo test -run TestXYZ ./internal/... or specify the package and test name.gofmt formatting; run go fmt ./... before committing.errors.New, fmt.Errorf) over panic; use context where appropriate.go.mod up to date.No
.cursor or .cursorrules directories found. No Copilot instructions present.
-n <notes>: Add notes to new time entry-c <config_path>: Specify custom config file path-i: Ignore local configuration file-t <ticket>: Add ticket number prefix (auto-adds # if missing)-e: Select and restart an existing time entry for today-s: Show current running timer status-b: Format output for SketchyBar (plain text, must be used with -s)-q: Stop the currently running timerThe application now uses a global configuration file at
~/.config/harvest_cli/config.json instead of environment variables. On first run, you'll be prompted to enter:
cmd/root.go # Main CLI entry point and flag handling internal/ config/config.go # Configuration management harvest/ client.go # API client and HTTP requests models.go # Data structures for Harvest API prompt/prompt.go # Interactive selection UI (bubbletea)
Project Name (Client Name) with cyan client highlightingProject - Task (Status) [HH:MM] Notes
|[HH:MM] #first-word-of-notes or [xx:xx] if no timer/time_entries/{id}/restart/time_entries (duration-based)--help flag documentation--dry-run flag for testing--verbose flag for detailed output# On first run, you'll be prompted for configuration ./harvest_cli # Create new entry ./harvest_cli -e # Select existing entry ./harvest_cli -s # Show status (tmux format) ./harvest_cli -s -b # Show status (SketchyBar plain text format) ./harvest_cli -q # Stop running timer ./harvest_cli -n "Working on feature" # With notes
~/.config/harvest_cli/config.jsongo fmt