- Introduce 'workon' as the top queued item for bootstrapping new features
- Rearrange other queued items (e.g., cnotes, make, rg) and mark some as optional
- Remove TODO_ITEM template from queued list
- Expand workon.md with detailed description, usage, assumptions, and benefits
- 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.
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.
Update the git diff command to first attempt using the remote origin/base branch, as it is more likely to be up-to-date for pull requests. Fall back to the local base branch if the remote diff fails or is empty.
Add changelog entry summarizing additions, changes, and fixes for version v0.3.7, including improved git diff handling, test updates, and README tweaks.
- Introduce `gitDiff` variable as a mockable wrapper for `git.Diff`.
- Update tests to use `withMockGitDiff` for injecting diff mocks.
- Minor flag description tweak for clarity.
- Introduce git.Diff function that uses CombinedOutput and treats exit code 1 as success (indicating changes exist).
- 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.
- Document added features like Markdown editing and PowerShell install snippets
- Include changes for logging, directory handling, and MIME types
- Note fixes for comment removal, file endings, and response cleaning
- Add v0.3.4 entry for Windows support
The removeLastModifiedComments function previously copied all lines without filtering.
This change adds logic to remove lines containing "last modified" (case-insensitive)
after trimming whitespace.
- Remove unnecessary comments and simplify logging setup in analyze.go
- Improve directory skipping logic in discoverSourceFiles
- Add error handling to buildProjectContext and include Git remotes
- Simplify removeLastModifiedComments in edit.go by direct slice append
- Introduce check for .md extension and use technical writer system prompt.
- Adjust response cleaning: trim for markdown, use CleanCodeResponse for code.
- Remove nolint comment and unnecessary line skipping in removeLastModifiedComments.
- Add PowerShell quick install snippet to release notes body
- Update MIME type detection to include .ps1 files as text/plain
- Remove unnecessary comments from workflow script
- Introduced grokkit-install.ps1 for Windows, mirroring bash installer with auto-detection, checksum verification, and safe installation
- Updated README with one-line and download-first install methods for Bash and PowerShell
- Added Windows-specific notes, improved formatting, tables, and examples in README
- Ensured cross-platform consistency in installation instructions
- Strip leading 'v' from VERSION for flexible invocation
- Add robust checksum download and verification using sha256sum or shasum
- Handle missing checksum tools or entries gracefully with warnings
- Update asset naming to include 'v' prefix consistently
- Improve platform detection formatting and add trap for temp dir cleanup
- Minor echo message updates for better user feedback
- Added debug echoes, changelog entries for v0.3.1
- Changed asset filename, binary handling, commented out checksum and cleanup
- Fixed quoting in case statements and echoes
- Adjust asset filename to include 'v' prefix for version
- Comment out checksum download and verification
- Fix quoting in case statements and echo commands
- Update binary naming and extraction handling
- Comment out temp dir cleanup trap
- Add debug echo statements for download and extraction
- Change default output to .grokkit/analysis.md for project-local storage
- Add directory creation for .grokkit to ensure it exists before writing
- Refine project analysis.md with more accurate tech stack, function refs, and learning path details
Move the project analysis from `analyze.md` to `.grokkit/analysis.md` for better organization under a dedicated directory. Update content with more accurate inferences on tech stack, directory structure, function references, and learning paths based on deeper code review. This improves maintainability and provides a more comprehensive overview for contributors.
Update CHANGELOG.md with added features like analyze command, Go-specific prompts, and language detection; changes to prompts, detection logic, and command handling; fixes for config, imports, and safety checks.
Add a "none" linter configuration for the Rexx language to provide structure,
while noting that no traditional linter is used and it's primarily for grokkit analyze.
- Remove `rootCmd.AddCommand(analyzeCmd)` from `cmd/analyze.go` init func
- Add empty `Linters` array for Rexx in `internal/linter/linter.go` with comment for analyze support
- Change default output filename in analyze command from analyze.md to analysis.md
- Add Rexx language detection with extensions .rx, .rex, .rexlib, .rexx, .cls
Update DetectPrimaryLanguage to normalize "C/C++" and "C++" to "c" for consistent counting.
Revise function comment and internal comments for clarity.
Remove redundant comment on finding most common language.
- Introduce analyze.md with comprehensive breakdown of Grokkit project, including tech stack, structure, APIs, data flow, and learning path.
- Update cmd/analyze.go to include detected language in user prompt for more targeted AI analysis.
Introduced a new documentation page `analyze.md` detailing the `analyze` command, including usage, options, prompt discovery, language support, safety features, best practices, and an example workflow. Updated `index.md` to include a link to the new guide.
- Modify Go prompt to include instruction for inferring project name from directory or go.mod.
- Update analyze command to infer project name from directory base and replace placeholder in prompt content.
- Enhance prompt formatting with bold text and rephrased sections for clarity.
- Enhance discoverSourceFiles to skip additional noise directories like "build" and "dist" while descending into source directories.
- Update safety check to use package-level logger without .Get().
- Refine buildProjectContext with better labeling and consistent git remote handling.
- Minor comment and string adjustments for clarity.
- Fix config.GetModel to use command name and flag
- Switch to package-level logger functions
- Update git.IsRepo to take no arguments
- Simplify linter language detection comments
- Adjust Grok client creation to NewClient().StreamSilent
- Add error handling for confirmation input
- Remove unnecessary imports and refine comments in linter
- Updated Go analysis prompt for clarity, structure, and educational focus.
- Improved buildProjectContext to include shallow key files and cleaner Git remote handling.
- Implemented DetectPrimaryLanguage with counting logic and Go bias; added SupportedLanguages.
- Enhanced LoadAnalysisPrompt with better language handling, fallbacks, and error clarity.
- Add Go-specific analysis prompt in .grokkit/prompts/go.md
- Expand cmd/analyze.go to discover files, detect language, load prompts, build context, generate report via Grok, and handle output with preview/confirmation
- Integrate analyzeCmd into root command
- Introduce internal/linter/language.go for primary language detection
- Add internal/prompts/analyze.go for loading analysis prompts from project or global locations
Introduces a new Cobra command `analyze` that performs deep project analysis,
discovers files, builds context, streams to Grok for report generation, and
handles output with confirmation.