Commit Graph

236 Commits

Author SHA1 Message Date
fe25d7fa37 feat(mcp): implement recipe and prompt listing with handlers
All checks were successful
CI / Test (pull_request) Successful in 1m20s
CI / Lint (pull_request) Successful in 50s
CI / Build (pull_request) Successful in 40s
- Add ListRecipes and ListAvailablePrompts functions
- Update MCP server handlers for local/global recipes and prompts
- Add unit tests for analyze, docs, mcp, prompts, recipe, and testgen packages
2026-04-06 15:44:30 +01:00
6066e65af8 feat(mcp): add MCP server mode for AI agent integration
- Implement `grokkit mcp` command to run as MCP server over stdio
- Export analysis, docs, and testgen functions for MCP tools
- Add tools: lint_code, analyze_code, generate_docs, generate_tests, generate_commit_msg, run_recipe
- Register resources: recipes://local, recipes://global, prompts://language
- Update README and add user guide for MCP
- Add MCP config options and dependencies
2026-04-06 12:35:16 +01:00
f3a2bfd5a3 Start working on mcp-feature 2026-04-06 11:14:10 +01:00
646e0dbeb4 docs(todo): add MCP server mode to queued tasks
All checks were successful
CI / Test (push) Successful in 35s
CI / Lint (push) Successful in 23s
CI / Build (push) Successful in 20s
Update the TODO README to include a new queued feature for grokkit MCP server mode.
2026-04-03 16:08:07 +01:00
d701ee3793 feat(mcp): add queued feature description for MCP server mode
Some checks failed
CI / Test (push) Successful in 44s
CI / Lint (push) Successful in 32s
CI / Build (push) Has been cancelled
Introduces a detailed plan in todo/queued/mcp-feature.md for integrating an MCP server into grokkit, enabling programmatic access to AI-powered code tools and resources via stdio for clients like Claude Code. Includes architecture notes, implementation phases, tools, resources, and ROI analysis.
2026-04-03 16:06:28 +01:00
53c464bbdd docs(readme): bump version to 0.4.0
All checks were successful
CI / Test (push) Successful in 35s
CI / Lint (push) Successful in 27s
CI / Build (push) Successful in 22s
Update installation instructions in README.md to reference v0.4.0.
2026-03-31 23:02:13 +01:00
9ed525ea0a chore(changelog): add entry for v0.4.0 release
All checks were successful
CI / Test (push) Successful in 37s
CI / Lint (push) Successful in 27s
CI / Build (push) Successful in 21s
Update CHANGELOG.md with details on the new workon command, including added features for AI-powered workflows, git branching, flags, config options, IDE integration, and unit tests. Also includes changes to command handling, documentation refinements, and fixes for error handling and tests.
2026-03-31 22:54:58 +01:00
7a16b2bcd2 refactor(test): explicitly discard errors from git commands in tests
All checks were successful
CI / Test (push) Successful in 38s
CI / Lint (push) Successful in 28s
CI / Build (push) Successful in 22s
Release / Create Release (push) Successful in 38s
This change adds `_ =` assignments to exec.Command(...).Run() calls in test setup code to explicitly ignore error returns, likely to satisfy linters or static analysis tools without changing behavior.
2026-03-31 22:51:58 +01:00
5c9689e4da test: add unit tests for cmd, config, git, linter, logger, prompts, todo, and workon
Some checks failed
CI / Test (push) Successful in 40s
CI / Lint (push) Failing after 20s
CI / Build (push) Successful in 22s
- Introduce tests for analyze, recipe, workon commands
- Expand scaffold tests with language detection and context harvesting
- Add tests for config getters, git utilities (tags, logs, diff)
- Enhance linter with primary language detection tests
- Cover logger level setting branches
- New prompts loading tests with local/global fallback
- Todo bootstrap and structure tests
- Comprehensive workon flow tests including file moves, git integration, README updates
- Update README coverage from 54% to 62%
2026-03-31 22:47:36 +01:00
65f67ff7b1 feat(workon): implement automated todo workflow with AI plans and branch management
All checks were successful
CI / Test (push) Successful in 34s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 23s
- Add workon command to automate starting/completing todos/fixes
- Generate AI-powered work plans and handle git branching
- Update README and user docs with workon guide
- Move workon todo item to completed
2026-03-31 22:23:35 +01:00
6692b9a050 Merge pull request 'feat: Implement workon Command for Automated Todo/Fix Workflow Integration' (#9) from feature/workon_cmd into master
All checks were successful
CI / Test (push) Successful in 34s
CI / Lint (push) Successful in 26s
CI / Build (push) Successful in 20s
Reviewed-on: #9
2026-03-31 21:14:00 +00:00
ce878f058f feat(workon): enhance command with IDE integration and README updates
All checks were successful
CI / Test (pull_request) Successful in 36s
CI / Lint (pull_request) Successful in 26s
CI / Build (pull_request) Successful in 20s
- Add colorized output for success/error messages
- Change custom message flag from -m to -M
- Implement branch prefixing (feature/ or fix/)
- Add config for workon.model and workon.ide
- Update README.md index on task completion
- Integrate IDE opening if configured
- Refine error handling and logging
2026-03-31 22:04:33 +01:00
8a3257b3a7 feat(workon): integrate Grok for work plan generation
Replace placeholder with actual Grok client call to generate and append a tailored work plan section to todo/fix files. Add prompt engineering for concise, actionable plans. Include file content reading and model config integration. Update comments and error handling for clarity.
2026-03-31 21:20:55 +01:00
49ec38a2ca refactor(workon): clean up stubs and add TODOs for Grok integration
- Remove temporary grokClient interface and prompt logic.
- Add TODOs for real Grok client import and calls.
- Placeholder work plan for functionality.
- TODOs for README index update and IDE config support.
- Minor comment and logging tweaks for clarity.
2026-03-31 21:04:40 +01:00
9694d72463 feat(workon): implement core transactional flow with Grok work plan
- Bootstrap todo structure and handle fix/complete modes.
- Create safe git branches and append AI-generated work plans.
- Commit changes and move items to completed on finish.
- Add stubs for Grok client and config-dependent IDE open.
2026-03-31 20:56:45 +01:00
d6f507b8cb feat(workon): enhance command to start or complete todos/fixes with git integration
- Update workonCmd to accept todo_item_title arg and add -f/--fix, -c/--complete flags
- Implement transactional flow: bootstrap todo dirs, move/create .md files, create branch, append Grok-generated Work Plan, commit
- Add todo package with Bootstrap for directory structure
- Expand workon.Run to handle modes (todo, fix, complete) with placeholders for Grok integration and optional cnadd/IDE open
2026-03-31 20:42:32 +01:00
9080cf7f3e feat(workon): add initial workon command for starting todo items
Introduces the `workon` CLI command which selects the next queued todo item,
moves it to doing/, creates a git branch, generates a work plan via Grok,
appends it to the file, and commits the changes. Includes skeleton implementation
with TODOs for full functionality.
2026-03-31 20:30:05 +01:00
a4a1b49c9d chore(todo): move workon task from queued to doing
Update README.md to reflect the new file location and rename the workon.md file accordingly.
2026-03-31 20:12:10 +01:00
Gregory Gauthier
4dff2039b0 docs(workon): clarify references to workon command in documentation
All checks were successful
CI / Test (push) Successful in 32s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 20s
Update the description in todo/queued/workon.md to specifically mention the `workon` command instead of the generic "feature" for better clarity.
2026-03-31 15:18:20 +01:00
Gregory Gauthier
8031190d81 docs(workon): update description from 'feature' to 'todo item'
All checks were successful
CI / Test (push) Successful in 35s
CI / Lint (push) Successful in 25s
CI / Build (push) Successful in 20s
Change the description in workon.md to reflect 'todo item' instead of 'feature' for accuracy.
2026-03-31 15:16:19 +01:00
Gregory Gauthier
18c23b1d6d docs(workon): update description from feature to todo
All checks were successful
CI / Test (push) Successful in 32s
CI / Lint (push) Successful in 28s
CI / Build (push) Successful in 21s
Changed the command argument explanation to use 'todo' instead of 'feature' for accuracy in the workon.md file.
2026-03-31 15:13:58 +01:00
Gregory Gauthier
d752a73742 docs(workon): clarify -c flag usage and exclusivity
Some checks failed
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 25s
CI / Build (push) Has been cancelled
Updated the usage string to show -c as an alternative option and added a note
that it cannot be used with other flags.
2026-03-31 15:12:50 +01:00
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