diff --git a/.gitea/workflows/auto-complete-todo.yml b/.gitea/workflows/auto-complete-todo.yml index a5102d9..0663208 100644 --- a/.gitea/workflows/auto-complete-todo.yml +++ b/.gitea/workflows/auto-complete-todo.yml @@ -6,7 +6,7 @@ on: jobs: move-todo: - runs-on: ubuntu-latest + runs-on: ubuntu-gitea steps: - name: 'Clone PR branch, move TODO, push update' env: diff --git a/todo/completed/3-new-feature-suggestions.md b/todo/completed/3-new-feature-suggestions.md new file mode 100644 index 0000000..42b5996 --- /dev/null +++ b/todo/completed/3-new-feature-suggestions.md @@ -0,0 +1,59 @@ +# 3 New AI-Enhanced Feature Suggestions for Grokkit + +These suggestions build on existing CLI strengths (chat/edit/lint/agent) to further streamline Go development workflows. + +## 1. `grokkit testgen [path...]` +**Description**: Generate comprehensive unit tests for Go files/packages using AI analysis of source code. + +**Benefits**: +- Boost test coverage from current ~72% baseline automatically. +- Enforces modern table-driven tests with `t.Parallel()` matching codebase style (e.g., `internal/version/version_test.go`). + +**High-level implementation**: +- Extract funcs/structs via `go/ast` or prompt with code snippets. +- Prompt Grok: "Generate table-driven tests for this Go code." +- Output `*_test.go`, create `.bak`, preview/apply like `edit`. +- Verify: `go test -v ./...` post-generation. + +**CLI example**: +``` +grokkit testgen internal/grok/client.go +``` + +## 2. `grokkit changelog` +**Description**: AI-generated CHANGELOG.md updates from git history (commits/tags). + +**Benefits**: +- Automates semantic release notes (feat/fix/docs/etc.). +- Integrates with TODO workflow for release PRs. + +**High-level implementation**: +- Fetch `git log --pretty=format:%s%n%b --since=`. +- Prompt Grok: "Categorize into CHANGELOG sections." +- Append/update `CHANGELOG.md`, preview/commit. + +**CLI example**: +``` +grokkit changelog --since=v0.1.3 +grokkit changelog --commit # Stage + grokkit commit +``` + +## 3. `grokkit profile` +**Description**: Run Go benchmarks/pprof, get AI-suggested performance optimizations. + +**Benefits**: +- Tune CLI hotspots (e.g., API streaming, git subprocesses). +- Proactive perf improvements without manual profiling. + +**High-level implementation**: +- `go test -bench=. -cpuprofile=prof.out ./cmd`. +- Parse pprof data (stdlib `pprof` or text), prompt Grok: "Optimize these hotspots." +- Suggest edits via `agent` or `edit --preview`. + +**CLI example**: +``` +grokkit profile ./cmd/agent.go +# Outputs: hotspots, suggestions, optional auto-fixes +``` + +These features align with minimal deps, modern Go, and existing patterns (Cobra cmds, grok client, git integration). diff --git a/todo/queued/changelog.md b/todo/queued/changelog.md new file mode 100644 index 0000000..bab881f --- /dev/null +++ b/todo/queued/changelog.md @@ -0,0 +1,17 @@ +# `grokkit changelog` +**Description**: AI-generated CHANGELOG.md updates from git history (commits/tags). + +**Benefits**: +- Automates semantic release notes (feat/fix/docs/etc.). +- Integrates with TODO workflow for release PRs. + +**High-level implementation**: +- Fetch `git log --pretty=format:%s%n%b --since=`. +- Prompt Grok: "Categorize into CHANGELOG sections." +- Append/update `CHANGELOG.md`, preview/commit. + +**CLI example**: +``` +grokkit changelog --since=v0.1.3 +grokkit changelog --commit # Stage + grokkit commit +``` diff --git a/todo/queued/profile.md b/todo/queued/profile.md new file mode 100644 index 0000000..cf91ea3 --- /dev/null +++ b/todo/queued/profile.md @@ -0,0 +1,17 @@ +# `grokkit profile` +**Description**: Run Go benchmarks/pprof, get AI-suggested performance optimizations. + +**Benefits**: +- Tune CLI hotspots (e.g., API streaming, git subprocesses). +- Proactive perf improvements without manual profiling. + +**High-level implementation**: +- `go test -bench=. -cpuprofile=prof.out ./cmd`. +- Parse pprof data (stdlib `pprof` or text), prompt Grok: "Optimize these hotspots." +- Suggest edits via `agent` or `edit --preview`. + +**CLI example**: +``` +grokkit profile ./cmd/agent.go +# Outputs: hotspots, suggestions, optional auto-fixes +``` diff --git a/todo/queued/testgen.md b/todo/queued/testgen.md new file mode 100644 index 0000000..59135ee --- /dev/null +++ b/todo/queued/testgen.md @@ -0,0 +1,17 @@ +# `grokkit testgen [path...]` +**Description**: Generate comprehensive unit tests for Go files/packages using AI analysis of source code. + +**Benefits**: +- Boost test coverage from current ~72% baseline automatically. +- Enforces modern table-driven tests with `t.Parallel()` matching codebase style (e.g., `internal/version/version_test.go`). + +**High-level implementation**: +- Extract funcs/structs via `go/ast` or prompt with code snippets. +- Prompt Grok: "Generate table-driven tests for this Go code." +- Output `*_test.go`, create `.bak`, preview/apply like `edit`. +- Verify: `go test -v ./...` post-generation. + +**CLI example**: +``` +grokkit testgen internal/grok/client.go +```