Commit Graph

208 Commits

Author SHA1 Message Date
Gregory Gauthier
99b9405298 test(cmd): update expected git diff ranges to include origin prefix
All checks were successful
CI / Test (push) Successful in 34s
CI / Lint (push) Successful in 26s
CI / Build (push) Successful in 18s
2026-03-31 11:38:03 +01:00
Gregory Gauthier
a2a1dbf33a chore(release): bump version to 0.3.8
Some checks failed
CI / Test (push) Failing after 25s
CI / Lint (push) Has been skipped
CI / Build (push) Has been skipped
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.
2026-03-31 11:32:57 +01:00
Gregory Gauthier
9fc9ae346b docs: update version to 0.3.8 in README installation instructions
All checks were successful
Release / Create Release (push) Successful in 37s
Update bash and powershell scripts to reference the new release version.
2026-03-31 11:31:57 +01:00
Gregory Gauthier
029621b916 refactor(prdescribe): prefer remote base for diff calculation
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.
2026-03-31 11:31:03 +01:00
Gregory Gauthier
e0e1100396 docs(changelog): update for v0.3.7 release
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 21s
Add changelog entry summarizing additions, changes, and fixes for version v0.3.7, including improved git diff handling, test updates, and README tweaks.
2026-03-31 11:10:29 +01:00
Gregory Gauthier
5bf073377d docs(readme): bump version to 0.3.7
All checks were successful
Release / Create Release (push) Successful in 39s
Update installation and download scripts in README.md to reference v0.3.7.
2026-03-31 11:09:28 +01:00
debcf94f2e Merge pull request 'fix/prdescribe-patch' (#8) from fix/prdescribe-patch into master
All checks were successful
CI / Test (push) Successful in 34s
CI / Lint (push) Successful in 28s
CI / Build (push) Successful in 21s
Reviewed-on: #8
2026-03-31 10:02:35 +00:00
Gregory Gauthier
403a408f8d refactor(cmd): make git diff mockable in pr-describe command and tests
All checks were successful
CI / Test (pull_request) Successful in 44s
CI / Lint (pull_request) Successful in 27s
CI / Build (pull_request) Successful in 20s
- 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.
2026-03-31 10:54:37 +01:00
Gregory Gauthier
452051f0c1 refactor(git): improve diff handling to tolerate exit code 1
- 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.
2026-03-31 10:40:33 +01:00
f483a36de8 docs: bump version to 0.3.6 in README installation instructions
All checks were successful
CI / Test (push) Successful in 31s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 20s
Updates the version references in bash and PowerShell scripts for consistency with the latest release.
2026-03-30 19:07:40 +01:00
c94a64c688 docs(changelog): add v0.3.6 entry and backfill previous versions
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 24s
CI / Build (push) Successful in 20s
- Added changelog entries for v0.3.4 and v0.3.5
- Documented fixes and changes for v0.3.6 including error handling, README updates, and version bumps
2026-03-30 19:02:40 +01:00
d476980148 fix(cmd/version): handle fprintf error in version output
All checks were successful
CI / Test (push) Successful in 34s
CI / Lint (push) Successful in 26s
CI / Build (push) Successful in 21s
Release / Create Release (push) Successful in 36s
Wrap the version printing in fprintf with error check to prevent silent failures.
2026-03-30 19:00:17 +01:00
Gregory Gauthier
7055a23ca2 docs(README): adjust heading levels in logging section
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 23s
CI / Build (push) Successful in 20s
Promote "Logging" to H2 and change subheadings from H1 to H3 for improved Markdown structure and hierarchy.
2026-03-30 14:30:54 +01:00
Gregory Gauthier
0c8ec610b8 docs(readme): update version to 0.3.5 and improve section headings
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 23s
CI / Build (push) Successful in 21s
- Bump version references from 0.3.3 to 0.3.5 in installation scripts
- Convert plain text sections to Markdown headings for better readability
2026-03-30 14:29:16 +01:00
Gregory Gauthier
363a761187 docs(changelog): add v0.3.5 entry with Markdown support and Windows tweaks
All checks were successful
CI / Test (push) Successful in 35s
CI / Lint (push) Successful in 24s
CI / Build (push) Successful in 20s
- 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
2026-03-30 14:08:13 +01:00
1e495551e7 Merge pull request 'fix/markdown_awareness_for_edit' (#7) from fix/markdown_awareness_for_edit into master
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 21s
Release / Create Release (push) Successful in 38s
Reviewed-on: #7
2026-03-30 13:05:09 +00:00
Gregory Gauthier
9d1e794c36 chore(edit): add missing newline at end of file
All checks were successful
CI / Test (pull_request) Successful in 33s
CI / Lint (pull_request) Successful in 26s
CI / Build (pull_request) Successful in 20s
Ensures the file ends with a newline to avoid Git warnings.
2026-03-30 14:01:17 +01:00
Gregory Gauthier
0b3e544143 fix(cmd/edit): implement removal of "last modified" comments
Some checks failed
CI / Test (pull_request) Successful in 34s
CI / Lint (pull_request) Failing after 19s
CI / Build (pull_request) Successful in 22s
The removeLastModifiedComments function previously copied all lines without filtering.
This change adds logic to remove lines containing "last modified" (case-insensitive)
after trimming whitespace.
2026-03-30 12:31:51 +01:00
Gregory Gauthier
edb986dd1a refactor(cmd): clean up analyze and edit commands
- 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
2026-03-30 12:28:19 +01:00
Gregory Gauthier
ba8d9b1d7e feat(edit): add markdown file support with tailored prompt
- 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.
2026-03-30 12:22:50 +01:00
Gregory Gauthier
1c790976ab ci(release): enhance workflow with PowerShell install instructions
All checks were successful
CI / Test (push) Successful in 30s
CI / Lint (push) Successful in 22s
CI / Build (push) Successful in 20s
- 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
2026-03-30 12:04:39 +01:00
Gregory Gauthier
c4bc073b35 chore(release): include PowerShell install script in build
All checks were successful
CI / Test (push) Successful in 34s
CI / Lint (push) Successful in 24s
CI / Build (push) Successful in 19s
Add copying of grokkit-install.ps1 to the build directory during release workflow, alongside the existing sh script.
2026-03-30 11:58:55 +01:00
Gregory Gauthier
250aff99ed docs(changelog): add entry for v0.3.4 with Windows support
All checks were successful
CI / Test (push) Successful in 32s
CI / Lint (push) Successful in 24s
CI / Build (push) Successful in 20s
- Introduced Windows installation script and methods
- Updated README with Windows notes and improved formatting
- Ensured cross-platform consistency
2026-03-30 11:50:43 +01:00
Gregory Gauthier
2bfd8bd15f feat(install): add PowerShell installer and update README installation docs
All checks were successful
CI / Test (push) Successful in 37s
CI / Lint (push) Successful in 23s
CI / Build (push) Successful in 19s
Release / Create Release (push) Successful in 34s
- 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
2026-03-30 11:47:19 +01:00
Gregory Gauthier
509e02b2e8 feat(install): enhance grokkit-install script with checksum verification and version flexibility
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 22s
CI / Build (push) Successful in 19s
Release / Create Release (push) Successful in 35s
- 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
2026-03-30 11:06:50 +01:00
Gregory Gauthier
7ffdb2c289 chore(changelog): add v0.3.2 entry documenting install script polishing and past updates
All checks were successful
CI / Test (push) Successful in 32s
CI / Lint (push) Successful in 23s
CI / Build (push) Successful in 20s
- 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
2026-03-30 10:52:58 +01:00
Gregory Gauthier
8c9df51a9c fix(scripts): update grokkit-install.sh for new asset naming and disable checksum verification
All checks were successful
CI / Test (push) Successful in 42s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 19s
Release / Create Release (push) Successful in 36s
- 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
2026-03-30 10:50:45 +01:00
82fe108554 docs(changelog): add entry for v0.3.1 release
All checks were successful
CI / Test (push) Successful in 31s
CI / Lint (push) Successful in 23s
CI / Build (push) Successful in 19s
- Documented additions: directory creation for .grokkit
- Documented changes: default output path, project analysis movement, refinements to analysis, and v0.3.0 changelog update
2026-03-28 18:11:15 +00:00
ea6f22cea4 refactor(analyze): improve default output path and update project analysis
All checks were successful
Release / Create Release (push) Successful in 34s
CI / Test (push) Successful in 30s
CI / Lint (push) Successful in 23s
CI / Build (push) Successful in 19s
- 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
2026-03-28 18:10:23 +00:00
099ef6919b docs(analysis): relocate and refine project analysis document
All checks were successful
CI / Test (push) Successful in 32s
CI / Lint (push) Successful in 23s
CI / Build (push) Successful in 18s
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.
2026-03-28 18:01:19 +00:00
c1c58e2738 chore(changelog): add entry for v0.3.0 release
All checks were successful
CI / Test (push) Successful in 26s
CI / Lint (push) Successful in 24s
CI / Build (push) Successful in 19s
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.
2026-03-28 17:45:45 +00:00
e97457c00f chore(linter): add dummy linter entry for Rexx
All checks were successful
CI / Test (push) Successful in 26s
CI / Lint (push) Successful in 18s
CI / Build (push) Successful in 14s
Release / Create Release (push) Successful in 2m1s
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.
2026-03-28 17:43:18 +00:00
269faa6546 fix(cmd): remove misplaced analyze command addition
Some checks failed
CI / Test (push) Failing after 23s
CI / Lint (push) Has been skipped
CI / Build (push) Has been skipped
- 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
2026-03-28 17:37:11 +00:00
3c73b897a6 chore: update analyze command output and add Rexx to linter
Some checks failed
CI / Test (push) Failing after 22s
CI / Lint (push) Has been skipped
CI / Build (push) Has been skipped
- Change default output filename in analyze command from analyze.md to analysis.md
- Add Rexx language detection with extensions .rx, .rex, .rexlib, .rexx, .cls
2026-03-28 17:06:26 +00:00
12bd5f9376 refactor(linter): clean language names in primary detection
All checks were successful
CI / Test (push) Successful in 26s
CI / Lint (push) Successful in 18s
CI / Build (push) Successful in 14s
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.
2026-03-28 16:24:26 +00:00
5cb84f44bb Merge pull request 'feat: Introduce analyze Command for Deep Educational Codebase Analysis' (#6) from feature/analyze_cmd into master
All checks were successful
CI / Test (push) Successful in 26s
CI / Lint (push) Successful in 17s
CI / Build (push) Successful in 13s
Reviewed-on: #6
2026-03-28 16:11:38 +00:00
7e5cb7c4d7 docs(analyze): add project analysis Markdown report and refine AI prompt
All checks were successful
CI / Test (pull_request) Successful in 26s
CI / Lint (pull_request) Successful in 18s
CI / Build (pull_request) Successful in 14s
- 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.
2026-03-28 14:32:50 +00:00
ba11717476 chore(todo): mark analyze-command as completed
All checks were successful
CI / Test (pull_request) Successful in 25s
CI / Lint (pull_request) Successful in 17s
CI / Build (pull_request) Successful in 13s
Moves the task file from queued to completed directory.
2026-03-28 14:13:53 +00:00
db184bb931 docs(user-guide): add guide for analyze command
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.
2026-03-28 14:08:47 +00:00
4549ab5589 feat(analyze): add project name inference for Go analysis prompts
- 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.
2026-03-28 13:44:10 +00:00
4084315dc1 refactor(analyze): improve file discovery and project context in analyze command
- 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.
2026-03-28 13:23:49 +00:00
fd033b03c7 fix(analyze): correct config, logger, and git usage in analyze command
- 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
2026-03-28 13:16:31 +00:00
09119ded37 refactor(analysis): refine prompts, language detection, and context building
- 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.
2026-03-28 12:46:04 +00:00
b24b86723b feat(analyze): implement educational project analysis with language prompts
- 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
2026-03-28 12:36:06 +00:00
78379aa557 feat(cmd): add analyze command for project analysis
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.
2026-03-28 12:16:17 +00:00
643b904db4 docs(analyze): refine grokkit analyze command spec
All checks were successful
CI / Test (push) Successful in 27s
CI / Lint (push) Successful in 17s
CI / Build (push) Successful in 12s
Update the feature description to include educational report details and prompt discovery mechanism.
Add automatic prompt loading from project or global config paths, with error handling for missing prompts.
Revise acceptance criteria, implementation plan, and add proposed CLI usage and flags.
Include default prompt for Go and user-guide updates for custom prompts.
2026-03-28 12:14:33 +00:00
6160ffa8e6 feat(analyze): add feature spec for grokkit analyze command
All checks were successful
CI / Test (push) Successful in 1m12s
CI / Lint (push) Successful in 44s
CI / Build (push) Successful in 37s
Queues a new Markdown spec in todo/queued for the `grokkit analyze` command, including description, acceptance criteria, implementation plan, and priority. This feature enables deep project analysis and generates educational Markdown reports on tech stack, functions, and more.
2026-03-28 11:47:17 +00:00
e2d70667f9 Update .grokkit/recipes/result-refactor.md
All checks were successful
CI / Test (push) Successful in 40s
CI / Lint (push) Successful in 26s
CI / Build (push) Successful in 20s
2026-03-09 13:31:32 +00:00
4e334c7d24 docs(changelog): add entry for v0.2.0
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 26s
CI / Build (push) Successful in 21s
Summarize changes including new features like recipe support, safe shell commands, and refactoring improvements; updates to configurations and security; fixes for various bugs and handling.
2026-03-08 12:59:34 +00:00
b0fcd2ce42 docs(readme): update test coverage badge and details
All checks were successful
CI / Test (push) Successful in 35s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 21s
Release / Create Release (push) Successful in 41s
- Change coverage badge from 68% (brightgreen) to 54% (orange)
- Update quality section from 68%+ to 54%+
- Lower CI coverage gate from 65% to 50%
2026-03-08 12:58:04 +00:00