You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(cli): auto-register generators and clean up ci smoke (#214)
## Type
- [x] `feat` — New feature
- [x] `fix` — Bug fix
- [x] `refactor` — Code restructure (no behavior change)
- [x] `docs` — Documentation only
- [x] `test` — Test coverage
- [x] `chore` — Build, CI, tooling
- [ ] `perf` — Performance improvement
## Summary
This PR completes provider/controller auto-registration in the CLI and
cleans up CI smoke checks by moving inline workflow scripts into
Makefile targets. Release artifact automation changes were intentionally
removed and will be handled in a later PR.
## Changes
- Added idempotent AST insertion for providers and controllers with
typed errors and atomic write behavior.
- Integrated auto-registration into `modkit new provider` and `modkit
new controller` with explicit partial-failure remediation output.
- Propagated registration failures as non-zero errors from CLI commands
while preserving user guidance output.
- Normalized provider token component names (`-` -> `_`) to keep
generated tokens valid for module.component format.
- Expanded CLI/AST tests for insertion, duplicate prevention, malformed
module shapes, helper/error paths, and command failure paths.
- Updated README quickstart examples to avoid ambiguous `--module` usage
when already inside a module directory.
- Refactored `.github/workflows/ci.yml` `cli-smoke` job to call Makefile
targets instead of inline shell blocks.
- Added `make cli-smoke-build` and `make cli-smoke-scaffold` targets and
documented them in `CONTRIBUTING.md`.
- Updated smoke compile step to build package directory (`go build
./cmd/api`).
- Simplified Codecov upload input to `.coverage/coverage.out` (removed
missing `.coverage/coverage-examples.out`).
- Removed GoReleaser-related files/workflow changes from this PR
(`.goreleaser.yml` deletion + release workflow revert).
- Added `.sisyphus/` to `.gitignore` and removed tracked `.sisyphus`
artifacts to prevent leaking local paths/session metadata.
## Breaking Changes
None
## Validation
```bash
make fmt && make lint && make vuln && make test && make test-coverage
make test-patch-coverage
make cli-smoke-build && make cli-smoke-scaffold
```
## Checklist
- [x] Code follows project style (`make fmt` passes)
- [x] Linter passes (`make lint`)
- [x] Tests pass (`make test`)
- [x] Tests added/updated for new functionality
- [x] Documentation updated (if applicable)
- [x] Commit messages follow [Conventional
Commits](https://www.conventionalcommits.org/)
## Resolves
N/A (not issue-driven)
## Notes
- Releaser automation is explicitly deferred to a separate follow-up PR.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* CLI now auto-attempts to register newly created controllers and
providers and reports Created / Registered status with actionable
guidance if registration fails
* **Documentation**
* Expanded README and contributing guide with installation, CLI
quick-start, onboarding steps, features, and CI smoke-check instructions
* **Tests**
* Added/expanded tests covering registration, idempotency, token
normalization, and failure paths
* **Chores**
* CI smoke-check workflow and Makefile targets to build/scaffold the
CLI; added .sisyphus/ to .gitignore
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
0 commit comments