## [v0.3.9] - 2026-03-31 Another tiny step forward, now with origin-al git flair. ### Changed - Bump version to 0.3.9 in README.md. - Update version references in Bash and PowerShell installation scripts in README.md. - Update expected git diff ranges in tests to include origin prefix. ## [v0.3.8] - 2026-03-31 Bumping to v0.3.8 with git tweaks and doc updates. ### Added - Add changelog entry for v0.3.7. ### Changed - Update version to 0.3.8 in README installation instructions. - Update bash and powershell scripts to reference new release version. - Update git diff command to prefer remote origin/base branch. - Fall back to local base branch if remote diff fails or is empty. ## [v0.3.7] - 2026-03-31 Version v0.3.7: Patchin' up git diffs because exit codes shouldn't be drama queens. ### Added - Introduce `gitDiff` variable as a mockable wrapper for `git.Diff`. - Introduce git.Diff function that uses CombinedOutput and treats exit code 1 as success. ### Changed - Update tests to use `withMockGitDiff` for injecting diff mocks. - Tweak flag description for clarity. - Update prdescribe command to use git.Diff and trim whitespace when checking for empty diffs. - Enhance prdescribe output to include base branch in the status message. - Update installation and download scripts in README.md to reference v0.3.7. ### Fixed - Improve diff handling to tolerate exit code 1. ## [v0.3.6] - 2026-03-30 ### Fixed - Handle fprintf error in version output by wrapping with error check. ### Changed - Promote "Logging" to H2 and adjust subheadings to H3 in README. - Bump version references from 0.3.3 to 0.3.5 in installation scripts. - Convert plain text sections to Markdown headings in README. - Add v0.3.5 entry to changelog documenting Markdown support and Windows tweaks. - Add v0.3.4 entry to changelog for Windows support. ## [v0.3.5] - 2026-03-30 Now with Markdown editing flair and Windows install tweaks! ### Added - Add support for editing Markdown files using a tailored technical writer prompt. - Add PowerShell quick install snippet to release notes. - Include PowerShell install script in release build artifacts. - Add entry for v0.3.4 to changelog with Windows support details. ### Changed - Simplify logging setup and remove unnecessary comments in analyze command. - Improve directory skipping logic in source file discovery. - Add error handling and include Git remotes in project context building. - Simplify removal of "last modified" comments by direct slice append. - Update MIME type detection to include .ps1 files as text/plain. - Remove unnecessary comments from release workflow script. - Ensure changelog entries include cross-platform consistency notes. ### Fixed - Implement removal of "last modified" comments in edit command by filtering lines case-insensitively. - Add missing newline at end of edited files to avoid Git warnings. - Adjust response cleaning for Markdown files and use CleanCodeResponse for code files. - Remove nolint comment and unnecessary line skipping in comment removal function. ## [v0.3.4] - 2026-03-30 Windows users, your PowerShell dreams just came true. ### Added - Introduced grokkit-install.ps1 for Windows with auto-detection, checksum verification, and safe installation. - Added one-line and download-first install methods for Bash and PowerShell in README. - Added Windows-specific notes, tables, and examples in README. ### Changed - Updated README formatting for improved readability. - Ensured cross-platform consistency in installation instructions. ## [v0.3.2] - 2026-03-30 Polishing the install script and catching up on past changelog entries. ### Added - Add debug echo statements for download and extraction. - Add changelog entry for v0.3.1, documenting additions like .grokkit directory creation. - Add changelog entry for v0.3.1, documenting changes like default output path, project analysis movement, analysis refinements, and v0.3.0 changelog update. ### Changed - Adjust asset filename to include 'v' prefix for version. - Comment out checksum download and verification. - Update binary naming and extraction handling. - Comment out temp dir cleanup trap. ### Fixed - Fix quoting in case statements and echo commands. ## [v0.3.1] - 2026-03-28 ### Added - Add directory creation for .grokkit to ensure it exists before writing. ### Changed - Change default output path to .grokkit/analysis.md for project-local storage. - Move project analysis from analyze.md to .grokkit/analysis.md. - Refine project analysis with more accurate tech stack, directory structure, function references, and learning path details. - Update CHANGELOG.md with entry for v0.3.0 release. ## [v0.3.0] - 2026-03-28 Grokkit levels up with deep project analysis—because who doesn't love a good codebase dissection? ### Added - Add "analyze" command for educational codebase analysis using AI prompts. - Add Go-specific analysis prompt in .grokkit/prompts/go.md. - Add feature specification for "analyze" command in todo/queued. - Add project name inference in Go analysis prompts. - Add documentation page for "analyze" command in docs/user-guide. - Add link to "analyze" guide in index.md. - Add project analysis Markdown report example in docs/analyze.md. - Add Rexx language detection with extensions .rx, .rex, .rex, .rexlib, .rexx, .cls. - Add empty Linters array for Rexx in internal/linter/linter.go. - Add "none" linter configuration for Rexx language. - Add internal/linter/language.go for primary language detection. - Add internal/prompts/analyze.go for loading analysis prompts. - Add error handling for confirmation input in analyze command. ### Changed - Update Go analysis prompt for clarity, structure, and educational focus. - Update cmd/analyze.go to include detected language in AI prompt. - Update analyze command to infer project name from directory or go.mod. - Enhance prompt formatting with bold text and rephrased sections. - Enhance discoverSourceFiles to skip noise directories like "build" and "dist". - Refine buildProjectContext with better labeling and git remote handling. - Update DetectPrimaryLanguage to normalize "C/C++" and "C++" to "c". - Revise function comments and internal comments in DetectPrimaryLanguage. - Remove redundant comment on finding most common language. - Change default output filename in analyze command from analyze.md to analysis.md. - Update .grokkit/recipes/result-refactor.md. - Move analyze-command task file from queued to completed. - Update feature spec for "analyze" command with educational details and prompt discovery. - Revise acceptance criteria, implementation plan, CLI usage, and flags in spec. - Switch to package-level logger functions in analyze command. - Update git.IsRepo to take no arguments. - Simplify linter language detection comments. - Adjust Grok client creation to NewClient().StreamSilent. - Refine comments in linter and string adjustments for clarity. - Implement DetectPrimaryLanguage with counting logic and Go bias. - Enhance LoadAnalysisPrompt with better language handling and fallbacks. - Expand cmd/analyze.go to discover files, detect language, load prompts, and generate reports. - Integrate analyzeCmd into root command. ### Fixed - Remove misplaced rootCmd.AddCommand(analyzeCmd) from cmd/analyze.go init function. - Fix config.GetModel to use command name and flag in analyze command. - Update safety check to use package-level logger without .Get(). - Remove unnecessary imports in linter. ## [v0.2.0] - 2026-03-08 Version 0.2.0: Recipes are cooking—now with extra safety and a dash of refactoring flair. ### Added - Add tests for recipe package covering loading, parameters, safety, and patches. - Add read-only shell support with user confirmation and whitelisting. - Add configurable safe shell commands from YAML with fallback. - Add project exploration step using safe read-only commands. - Add numeric argument support in read-only shell commands. - Add logging for safe commands config loading. - Add smart defaults for package_path in file discovery. - Add --param flag for passing key=value parameters to recipes. - Add refactorJSONs to collect JSON from refactor steps. - Add one-file-at-a-time refactoring handler. - Add file discovery and special step handling in runner. - Add apply/patch step handling with code extraction and application. - Add LLM-powered recipe execution with parameters and streaming. - Add recipe run command with path resolution. - Add recipe system for Result[T] refactoring. - Add --base flag to prdescribe for custom base branch. - Add admin tool entry to TODO. ### Changed - Change coverage badge from 68% to 54% and update quality section. - Lower CI coverage gate from 65% to 50%. - Remove t.Parallel() from cmd tests modifying global state. - Refactor README and docs structure into user-guide and developer-guide. - Remove root command addition from query init. - Reorganize commit commands and add sections for new features. - Enhance shell command security with global safe list and prefix checking. - Update allowed shell command validation to exact match or space-separated. - Tighten trigger conditions for read-only shell steps. - Expand safe shell commands to include GNU utilities and test runners. - Consolidate resolveWorkDir and remove resolvePackagePath. - Rename and expand resolvePackagePath to resolveWorkDir. - Update .gitignore to add .grok/ and *.patch ignores. - Add template recipe and update final summary heading. - Make search pattern configurable in file discovery. - Make file discovery generic using recipe metadata. - Improve boolean param handling and refine project root detection. - Change default package_path to internal/git. - Switch refactor step to strict JSON output. - Update regex for Grok output matching. - Improve regex flexibility and simplify patch creation. - Enhance parsing for multi-line step content. - Simplify apply step to dry-run only. - Update result-refactor recipe for broader package path. - Improve recipe loading and execution logic. - Clean up comments, error handling, and output formatting. - Simplify golangci-lint configuration. - Remove priorities from queued TODO items. - Remove auto-complete TODO workflow. ### Fixed - Fix unsafe shell command error message. - Fix recipe by adding error handling to unified patch creation. - Fix import path and add error handling for user input in cmd/recipe. - Fix testgen to distinguish C and C++ based on file extension. - Fix regex to match Grok's current output style. ## [v0.1.9] - 2026-03-04 Grokkit gets a quick-query upgrade—because who has time for chit-chat? ### Added - Implement `query` command in cmd/query.go for non-interactive Grok queries focused on programming. - Add wordy flag for detailed responses in query command. - Add .grok/settings.json with fast model configuration. - Set default model for query in config.go. - Add entry for query command to commands list in README. - Create new section in README with query command usage examples and features. - Add spec for grokkit non-interactive query tool in TODO. - Add detailed description, examples, and ROI for `query` feature in TODO. - Introduce initial CHANGELOG.md with v0.1.8 entries. ### Changed - Update root.go to include queryCmd. - Reorder and update queued task list in TODO with new entries like non-interactive-query.md. - Move changelog.md to completed tasks in TODO with version note. - Standardize link formats and list markers in README.md. - Rename TODO entry from "grokkit query Go tools integration" to "grokkit query Simple Query Tool". - Revise TODO description to focus on one-shot prompt/answer tool for concise queries. # Changelog All notable changes to this project will be documented in this file. ## [v0.1.8] - 2026-03-03 Another step towards automated bliss, with AI changelogs and Git taking the safety wheel. ### Added - Add release.sh script for automating releases with version validation, tagging, changelog generation, committing, and pushing. - Add grokkit changelog command with flags for version, since, stdout, and commit reminder. - Add git helpers for retrieving latest/previous tags and formatted logs since a reference. - Add tests for changelog message building and full construction. - Add todo/README.md as a table of contents for queued and completed tasks. - Add section in README.md documenting grokkit changelog command with usage examples. - Add detailed Git workflow for managing changes in README.md. - Add detail in changelog.md about using generated CHANGELOG.md for Gitea release notes. ### Changed - Change version flag shorthand from "v" to "V" in changelog command and update test assertion. - Disable coverage threshold enforcement in CI workflow by commenting out the 65% minimum step. - Update README.md to include grokkit changelog in the command features list. - Reprioritize queued tasks in README.md to place changelog first, followed by interactive-agent, make, tea, and gotools. - Update priorities in individual queued/*.md files to match new order. - Adjust priorities for features including audit, changelog, gotools, interactive-agent, and rg in todo docs. - Replace file backups with Git-based change management in safety features. - Remove mentions of backups from README.md, cmd/lint.go, ARCHITECTURE.md, and TROUBLESHOOTING.md. - Update troubleshooting guide with Git rollback instructions. - Modify feature lists and safety descriptions to emphasize Git integration. - Remove automatic .bak backup creation from edit, docs, lint, testgen, and agent commands. - Update README.md, architecture docs, troubleshooting, TODOs, and tests to reflect removal of backups.