feat: add Kiro AI programming tool support#1
Conversation
- Add detectKiroCandidates() function for auto-detecting Kiro config paths - Add Kiro configuration paths for macOS, Linux, and Windows - Update detectAndFillTemplatePaths() to include Kiro detection - Update protoInit() to display Kiro detection status - Add Kiro to default config template with empty prefix Kiro config file paths: - macOS: ~/.kiro/cueme_proto.md - Linux: ~/.config/kiro/cueme_proto.md - Windows: %USERPROFILE%\.kiro\cueme_proto.md
nmhjklnm
left a comment
There was a problem hiding this comment.
Nice addition. Two quick notes:
-
Repo-local candidate uses process.cwd() to look for ./.kiro/cueme_proto.md. If users run cueme outside the repo root, this may point to an unrelated directory. If cueme is intended to be run from within the target repo, that's fine; otherwise consider resolving repo root (e.g., walk up to find .git) before checking .kiro.
-
gh pr checks reports no checks on this branch. If possible, adding at least a minimal CI (lint/test) would help, especially since we now rely on rulesets for merge policy.
Address code review feedback: 1. Improve repo-local detection logic: - Add findGitRoot() helper to locate Git repository root - Update detectKiroCandidates() to use Git root instead of cwd - Prevents false positives when running cueme outside repo root 2. Add GitHub Actions CI workflow: - Run on push to main and all pull requests - Test on Node.js 20.x and 22.x - Perform syntax checks on all JS files - Verify proto.js exports are correct This ensures code quality and provides automated checks for PRs.
nmhjklnm
left a comment
There was a problem hiding this comment.
Requesting changes: For Kiro, please keep configuration strictly user-level (home directory paths) and remove repo-local detection.
Rationale:
- cueme’s role here is mainly to update user/tool config; a per-repo Kiro config (gitRoot/.kiro/cueme_proto.md) introduces an extra semantic (workspace override) that can confuse users.
- It also adds complexity (findGitRoot) that we don’t need if we don’t support repo-local Kiro config.
Requested changes:
- Remove findGitRoot helper.
- In detectKiroCandidates(), remove the git-root based candidate (gitRoot/.kiro/cueme_proto.md). Keep only the user-level candidates:
- macOS: ~/.kiro/cueme_proto.md
- Linux: ~/.config/kiro/cueme_proto.md
- Windows: %USERPROFILE%\.kiro\cueme_proto.md
CI workflow addition looks good; please keep it.
Address code review feedback: - Remove findGitRoot() helper function - Remove repo-local detection from detectKiroCandidates() - Keep only user-level configuration paths: * macOS: ~/.kiro/cueme_proto.md * Linux: ~/.config/kiro/cueme_proto.md * Windows: %USERPROFILE%\.kiro\cueme_proto.md Rationale: cueme's role is to update user/tool config. Per-repo Kiro config would introduce unnecessary complexity and semantic confusion. Keeping configuration strictly at user-level simplifies the design.
|
One more concern before approving: I think the Kiro config path assumptions may be wrong. On macOS, the actual Kiro file on our machine is:
But this PR currently uses:
Can you please verify the correct Kiro config/steering file path(s) that should be modified/managed by cueme, and update:
If Kiro supports multiple possible locations, we can include multiple candidates in detectKiroCandidates() and pick the first existing. Until the correct path is confirmed, I don’t want to merge this (otherwise cueme will write to a file Kiro never reads). |
Fix incorrect Kiro configuration file paths based on official documentation. Changes: - Update all Kiro paths to use ~/.kiro/steering/ directory - macOS: ~/.kiro/steering/cueme_proto.md - Linux: ~/.kiro/steering/cueme_proto.md - Windows: %USERPROFILE%\.kiro\steering\cueme_proto.md Rationale: Kiro uses the steering directory structure for global steering files, not a flat config directory. The steering directory is where Kiro automatically loads markdown files for project context. References: - https://kiro.dev/docs/cli/steering/ - Global steering location: ~/.kiro/steering/
Kiro config file paths: