chore(headers): add last modified timestamps to source files
Implemented automatic addition of "// Last modified: [timestamp]" headers across command and internal files for better tracking. Updated prompts in agent and edit commands to enforce header format. Added logic to prepend header if missing in generated content. Fixed minor issues like missing newlines at end of files.
This commit is contained in:
parent
ed614ae0db
commit
98eb5505a5
11
cmd/agent.go
11
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))
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
// Last modified: 2026-02-28 22:43:38 GMT
|
||||
// Current time: 2024-08-07 10:00:00
|
||||
|
||||
package cmd
|
||||
|
||||
@ -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)},
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
// Last modified: 2026-02-28 22:43:48 GMT
|
||||
// Current time: 2023-10-05 14:30:00
|
||||
|
||||
package cmd
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
// Last modified: 2026-02-28 22:43:50 GMT
|
||||
// Current time: 2024-09-07 10:00:00 UTC
|
||||
|
||||
package cmd
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
// Last modified: 2026-02-28 22:43:53 GMT
|
||||
package cmd
|
||||
|
||||
import (
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
// Last modified: 2026-02-28 22:43:55 GMT
|
||||
// Updated at 2024-08-27 12:00:00 UTC
|
||||
|
||||
package config
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
// Last modified: 2026-02-28 22:43:57 GMT
|
||||
// Current time: 2023-10-05 14:30:00 UTC
|
||||
|
||||
package git
|
||||
|
||||
@ -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
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user