Commit Graph

214 Commits

Author SHA1 Message Date
Gregory Gauthier
5f864307b8 docs(todo): update workon command specification
All checks were successful
CI / Test (push) Successful in 32s
CI / Lint (push) Successful in 22s
CI / Build (push) Successful in 21s
Refine the steps for the workon command, including moving todo items, generating plans, and optional logging/IDE opening.
Update usage to include -m for custom messages, -f for fixes, and -c for completion.
Add benefits, arguments section, and details for handling features vs fixes.
2026-03-31 15:08:52 +01:00
Gregory Gauthier
3bcba4976a docs(todo): reorder queued tasks and update workon description
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 24s
CI / Build (push) Successful in 19s
- 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
2026-03-31 14:44:46 +01:00
Gregory Gauthier
eb9bc410fc docs(todo): add queued workon.md for grokkit workon command
All checks were successful
CI / Test (push) Successful in 34s
CI / Lint (push) Successful in 24s
CI / Build (push) Successful in 21s
Added a new todo item in todo/queued/workon.md describing the 'grokkit workon' command, its benefits, and a high-level implementation placeholder.
2026-03-31 14:26:39 +01:00
Gregory Gauthier
4038bc1a92 chore(todo): mark recipe feature as completed
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 19s
Renamed todo/doing/recipe-feature.md to todo/completed/recipe-feature.md to reflect completion status.
2026-03-31 14:21:33 +01:00
Gregory Gauthier
88b912fc8f chore(changelog): add entry for v0.3.9 release
All checks were successful
CI / Test (push) Successful in 34s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 22s
- 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.
2026-03-31 11:42:02 +01:00
Gregory Gauthier
3a91a94b45 docs(readme): bump version to 0.3.9
All checks were successful
CI / Test (push) Successful in 35s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 20s
Release / Create Release (push) Successful in 35s
Update version references in installation scripts for Bash and PowerShell in README.md.
2026-03-31 11:40:13 +01:00
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