james.maes
5a42f7b41e
build: implement CI-friendly versioning with revision property
2025-12-31 06:42:14 -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
ba1d5b19ea
Style: Removed files from target directories from git
2025-08-09 15:59:42 -05:00
james.maes
29118d637c
Style: add Javadoc, constants, and normalize formatting across modules
...
- Add Javadoc for public methods and classes in core and shared modules.
- Introduce reusable constants for calculations (e.g., BYTES_PER_KB).
- Normalize header spacing and brace placement.
- Update Cache, ConfigLoader, and ApiClient classes for readability and maintainability.
2025-08-09 15:55:38 -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
3725674e31
V1 progress: output integration, tests, and mock flows
...
- qrun status: honor --output json via core Output; added unit test harness for renderer
- ApiClient: injectable client/sendOnce + postJson; added tests for header injection and exit-code mapping
- Cache: prune command testability (root override) + parseSize unit tests; no-op prune case covered
- qrun: added mock package and publish commands with Idempotency-Key handling
- qbit: added resolve command (hermetic stub) reading lockfile; basic tests
- whoami: align output to V1 spec (api-key: set|not set)
All modules build; unit tests pass locally.
2025-08-09 07:04:44 -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