13 Commits
Author SHA1 Message Date
james.maes dd275cb9fe chore: bump version to 0.2.1 for next development cycle 2026-01-04 19:34:13 -06:00
james.maes 5a967f072f feat(qqq): implement Velocity template engine with computed vars and transforms
Stories #18-21 complete:
- Apache Velocity replaces Handlebars for QQQ consistency
- StringTool with $str.camel(), pascal(), replace() helpers
- Computed variables ($str.replace($packageName, '.', '/'))
- Transform executor for rename/delete operations
- Manifest schema v2 with minimumQctlVersion check
2026-01-03 20:45:06 -06:00
james.maes 5a42f7b41e build: implement CI-friendly versioning with revision property 2025-12-31 06:42:14 -06:00
james.maes bdb5833be2 chore: bump version to 0.0.1 for initial release 2025-12-31 06:28:10 -06:00
james.maes 608e807704 feat(cli): implement version flag with build metadata
Add VersionProvider to display version, build time, and git commit.
2025-12-30 20:24:09 -06:00
james.maes a25309b75d feat(qqq): add init and list commands for template scaffolding
- Add qqq init command with hub-based template discovery
- Add qqq list command to display available templates
- Add Handlebars templating with native image support
- Add GitHub Actions workflow for multi-platform builds
- Add ExitCodes constants, cleanup duplicate Javadoc
- Remove native profile from qctl-core (only qctl-cli builds)
2025-12-30 19:43:32 -06:00
james.maes 12e4a0355b Build: add initial native build support and configuration setup
- Introduced `native-maven-plugin` configuration in `qctl-cli` for native image generation.
- Added reflection configuration files for native image requirements.
- Implemented GraalVM validation, build scripts, and environment checks in `scripts/`.
- Added tests for `TokenStore`, CLI authentication commands, and publish functionality.
- Registered SPI plugins for modules (`qbit`, `qqq`, `qrun`, `qstudio`).
- Documented native build process in `NATIVE-BUILD.md`.
2025-08-09 17:53:14 -05:00
james.maes 2afa12cb6c Style: update Checkstyle scan scope and normalize formatting; add constants and Javadoc in tests 2025-08-09 16:22:17 -05:00
james.maes a7c0f96905 Fix: normalize header spacing per Spotless in qctl-shared 2025-08-09 08:28:36 -05:00
james.maes bf0f873415 Style: add/normalize headers and Kingsrook formatting in shared module
- Ensure blank line separation before package declarations
- Normalize brace placement and 3-space indentation
- Add package-level Javadoc where appropriate
2025-08-09 07:57:57 -05:00
james.maes fe177d13bf Style: adopt Kingsrook IntelliJ style in build tooling
- Treat Kingsrook as the project standard: Checkstyle uses codestyle/checkstyle.config.xml
- Spotless enforces license headers for Java, XML, YAML/Properties; removed Google formatter
- Added license templates for XML and hash comment styles
- Verified mvn verify passes across modules
2025-08-09 07:23:44 -05:00
james.maes 5aad4cc634 Build: enforce Checkstyle + Spotless across modules
- Add maven-checkstyle-plugin (validate phase) using codestyle/checkstyle.config.xml
- Add Spotless license header + Google Java Format; enforce at verify
- Point Header module to codestyle/license.txt; fix paths
- Apply formatting and headers across sources
2025-08-09 07:19:32 -05:00
james.maes 14e60277ef Scaffold qctl multi-module (Java 21, Maven) and V1 foundations:
- Reactor modules: qctl-shared, qctl-core, qctl-qqq, qctl-qbit, qctl-qrun, qctl-qstudio, qctl-integration-tests
- Core: Picocli CLI with SPI subcommand loading; config loader + schema validation; system paths; logging; Output (text/json)
- HTTP: ApiClient with retries/backoff and RFC7807→exit code mapping
- Auth: TokenStore (file fallback); auth login/logout/whoami stubs
- Cache: ls, prune --max-size, clean --all
- qrun: status command calling mock API (uses X-API-Key)
- qbit: Lockfile DTO + atomic YAML read/write
- Tests: core (config, sys paths), qbit (lockfile)
- Design & resume files: CODEGEN-LOCKS-V1.md, PROMPT-RESUME.md, cheaklist.md
2025-08-09 06:16:34 -05:00