diff --git a/cmd/agent.go b/cmd/agent.go index aa9b97f..3b98ac1 100644 --- a/cmd/agent.go +++ b/cmd/agent.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:17 GMT package cmd import ( @@ -77,14 +78,22 @@ var agentCmd = &cobra.Command{ currentTime := time.Now().Format("2006-01-02 15:04:05 MST") + // Add short header comment with actual system time + header := fmt.Sprintf("// Last modified: %s\n\n", time.Now().Format("2006-01-02 15:04:05 MST")) + messages := []map[string]string{ {"role": "system", "content": fmt.Sprintf("You are an expert programmer. The VERY FIRST LINE of the returned file MUST be a header comment in this exact format: '// Last modified: %s'. Then return the complete updated file content. No explanations, no markdown, no diffs, no extra text.", currentTime)}, - {"role": "user", "content": fmt.Sprintf("File: %s\n\nOriginal content:\n%s\n\nTask: %s", filepath.Base(file), original, instruction)}, + {"role": "user", "content": fmt.Sprintf("File: %s\n\nOriginal content:\n%s\n\nTask: %s\n\nNOTE: Ensure the file starts with the required header comment followed by a blank line.", filepath.Base(file), original, instruction)}, } raw := client.StreamSilent(messages, "grok-4-1-fast-non-reasoning") newContent := grok.CleanCodeResponse(raw) + // Ensure header is present - prepend if missing + if !strings.HasPrefix(newContent, "// Last modified:") { + newContent = header + newContent + } + color.Cyan("Proposed changes for %s:", filepath.Base(file)) fmt.Println("--- a/" + filepath.Base(file)) fmt.Println("+++ b/" + filepath.Base(file)) @@ -110,4 +119,4 @@ var agentCmd = &cobra.Command{ color.Green("\nšŸŽ‰ Agent mode complete! All changes applied.") }, -} +} \ No newline at end of file diff --git a/cmd/chat.go b/cmd/chat.go index 2890810..4d79931 100644 --- a/cmd/chat.go +++ b/cmd/chat.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:28 GMT // Owned by gmgauthier.com // Current time: 2023-10-05 14:30:00 UTC diff --git a/cmd/commit.go b/cmd/commit.go index 5e9680b..a7c14d5 100644 --- a/cmd/commit.go +++ b/cmd/commit.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:36 GMT // Updated at current time: 2023-10-05 14:30:00 UTC package cmd diff --git a/cmd/commitmsg.go b/cmd/commitmsg.go index c85f86f..52ac2e8 100644 --- a/cmd/commitmsg.go +++ b/cmd/commitmsg.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:38 GMT // Current time: 2024-08-07 10:00:00 package cmd diff --git a/cmd/edit.go b/cmd/edit.go index 78c8631..f6c9bf6 100644 --- a/cmd/edit.go +++ b/cmd/edit.go @@ -1,11 +1,11 @@ -// Current time: 2024-08-18 15:00:00 - +// Last modified: 2026-02-28 22:43:40 GMT package cmd import ( "fmt" "os" "path/filepath" + "time" "github.com/fatih/color" "github.com/spf13/cobra" @@ -35,7 +35,7 @@ var editCmd = &cobra.Command{ client := grok.NewClient() messages := []map[string]string{ - {"role": "system", "content": "Return ONLY the complete updated file content. No explanations, no markdown fences, no diffs, no extra text whatsoever."}, + {"role": "system", "content": fmt.Sprintf("You are an expert programmer. The VERY FIRST LINE of the returned file MUST be a header comment in this exact format: '// Last modified: %s'. Then return the complete updated file content. No explanations, no markdown, no diffs, no extra text.", time.Now().Format("2006-01-02 15:04:05 MST"))}, {"role": "user", "content": fmt.Sprintf("File: %s\n\nOriginal content:\n%s\n\nTask: %s", filepath.Base(filePath), original, instruction)}, } diff --git a/cmd/history.go b/cmd/history.go index a7d5650..da7aa20 100644 --- a/cmd/history.go +++ b/cmd/history.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:46 GMT // Updated at current time: 2023-10-05 14:32:00 UTC package cmd diff --git a/cmd/prdescribe.go b/cmd/prdescribe.go index b045b43..ee5e2e8 100644 --- a/cmd/prdescribe.go +++ b/cmd/prdescribe.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:48 GMT // Current time: 2023-10-05 14:30:00 package cmd diff --git a/cmd/review.go b/cmd/review.go index 1e41e44..53782d1 100644 --- a/cmd/review.go +++ b/cmd/review.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:50 GMT // Current time: 2024-09-07 10:00:00 UTC package cmd diff --git a/cmd/root.go b/cmd/root.go index 8630a5e..fba99a1 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:53 GMT package cmd import ( @@ -32,4 +33,4 @@ func init() { rootCmd.AddCommand(historyCmd) rootCmd.AddCommand(agentCmd) chatCmd.Flags().StringP("model", "m", "", "Grok model to use (overrides config)") -} +} \ No newline at end of file diff --git a/config/config.go b/config/config.go index 6229689..0cfe189 100644 --- a/config/config.go +++ b/config/config.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:55 GMT // Updated at 2024-08-27 12:00:00 UTC package config diff --git a/internal/git/helper.go b/internal/git/helper.go index db59cee..f595b35 100644 --- a/internal/git/helper.go +++ b/internal/git/helper.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:57 GMT // Current time: 2023-10-05 14:30:00 UTC package git diff --git a/internal/grok/client.go b/internal/grok/client.go index 1776e04..edc4c90 100644 --- a/internal/grok/client.go +++ b/internal/grok/client.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:43:59 GMT package grok import ( @@ -92,8 +93,8 @@ func (c *Client) streamInternal(messages []map[string]string, model string, prin // CleanCodeResponse removes markdown fences and returns pure code content func CleanCodeResponse(text string) string { - text = strings.ReplaceAll(text, "```go", "") - text = strings.ReplaceAll(text, "```", "") + text = strings.ReplaceAll(text, "", "") + text = strings.ReplaceAll(text, "", "") text = strings.TrimSpace(text) return text -} +} \ No newline at end of file diff --git a/main.go b/main.go index 53fa7a9..fbf8037 100644 --- a/main.go +++ b/main.go @@ -1,3 +1,4 @@ +// Last modified: 2026-02-28 22:44:03 GMT // Updated at current time: 2023-10-05 12:00:00 UTC package main