chore(todo): complete feature suggestions TODO and queue individual tasks
- Update CI workflow runner from ubuntu-latest to ubuntu-gitea for auto-complete-todo. - Move 3-new-feature-suggestions.md to completed/. - Create queued TODOs for testgen, changelog, and profile features.
This commit is contained in:
parent
d0a4b8922d
commit
6e3a52728e
@ -6,7 +6,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
move-todo:
|
move-todo:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-gitea
|
||||||
steps:
|
steps:
|
||||||
- name: 'Clone PR branch, move TODO, push update'
|
- name: 'Clone PR branch, move TODO, push update'
|
||||||
env:
|
env:
|
||||||
|
|||||||
59
todo/completed/3-new-feature-suggestions.md
Normal file
59
todo/completed/3-new-feature-suggestions.md
Normal file
@ -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=<last-tag>`.
|
||||||
|
- 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).
|
||||||
17
todo/queued/changelog.md
Normal file
17
todo/queued/changelog.md
Normal file
@ -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=<last-tag>`.
|
||||||
|
- 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
|
||||||
|
```
|
||||||
17
todo/queued/profile.md
Normal file
17
todo/queued/profile.md
Normal file
@ -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
|
||||||
|
```
|
||||||
17
todo/queued/testgen.md
Normal file
17
todo/queued/testgen.md
Normal file
@ -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
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue
Block a user