Versions in this module Expand all Collapse all v0 v0.3.0 May 26, 2026 v0.2.1 May 26, 2026 Changes in this version + func BuildPrompt(comment AIComment) string + func DefaultIgnorePatterns() []string + func DetectContentType(content string) string + func DetectLanguage(code string) string + func FormatEvents(events []FileEvent) string + func FormatForContext(content string, contentType string) string + func IsDue(job *CronJob, now time.Time) bool + func MatchesPattern(path string, patterns []string) bool + func NextRunTime(expr *CronExpr, after time.Time) time.Time + func ReadClipboard() (string, error) + func RemoveComment(file string, line int, marker string) error + func SummarizeClipboard(content string, maxChars int) string + func WriteClipboard(content string) error + type AIComment struct + Comment string + Context string + File string + Language string + Line int + Marker string + func ScanDirectory(dir string, patterns []string) []AIComment + func ScanFile(path string) []AIComment + type AIWatcher struct + Debounce time.Duration + OnComment func(comment AIComment) + Patterns []string + RootDir string + func NewAIWatcher(rootDir string, patterns []string) *AIWatcher + func (w *AIWatcher) Start(ctx context.Context) error + func (w *AIWatcher) Stop() + type ClipboardBridge struct + func (cb *ClipboardBridge) IsCode(content string) bool + func (cb *ClipboardBridge) ReadClipboard() (string, error) + func (cb *ClipboardBridge) WriteClipboard(content string) error + type ClipboardMonitor struct + Enabled bool + OnPaste func(content string) + PollInterval time.Duration + func NewClipboardMonitor() *ClipboardMonitor + func (cm *ClipboardMonitor) Start(ctx context.Context) error + func (cm *ClipboardMonitor) Stop() + type CronExpr struct + DayOfMonth []int + DayOfWeek []int + Hour []int + Minute []int + Month []int + func ParseCron(expression string) (*CronExpr, error) + type CronJob struct + Command string + CreatedAt time.Time + Enabled bool + ID string + LastError string + LastResult string + LastRun *time.Time + Name string + NextRun *time.Time + RunCount int + Schedule string + type CronScheduler struct + Jobs map[string]*CronJob + Running bool + func NewCronScheduler() *CronScheduler + func (cs *CronScheduler) AddJob(name, schedule, command string) (*CronJob, error) + func (cs *CronScheduler) FormatJobs() string + func (cs *CronScheduler) ListJobs() []*CronJob + func (cs *CronScheduler) PauseJob(id string) error + func (cs *CronScheduler) RemoveJob(id string) error + func (cs *CronScheduler) ResumeJob(id string) error + func (cs *CronScheduler) Start(ctx context.Context, execFn func(string) (string, error)) + func (cs *CronScheduler) Stop() + type FileEvent struct + Path string + Size int64 + Time time.Time + Type string + func DedupEvents(events []FileEvent) []FileEvent + type FileWatcher struct + BatchWindow time.Duration + Debounce time.Duration + IgnorePatterns []string + OnChange func([]FileEvent) + Patterns []string + RootDir string + func NewFileWatcher(rootDir string, config WatcherConfig) *FileWatcher + func (fw *FileWatcher) ShouldIgnore(path string) bool + func (fw *FileWatcher) Start(ctx context.Context) error + func (fw *FileWatcher) Stop() + type SingleFileWatcher struct + func WatchSingle(path string, onChange func()) *SingleFileWatcher + func (sw *SingleFileWatcher) Start(ctx context.Context) error + func (sw *SingleFileWatcher) Stop() + type WatcherConfig struct + BatchWindow time.Duration + Debounce time.Duration + IgnorePatterns []string + Patterns []string + PollInterval time.Duration