Skip to content

feat(release): package agent instructions as GitHub release artifacts - #111

Merged
sdegroot merged 6 commits into
mainfrom
feature/agents
Feb 3, 2026
Merged

feat(release): package agent instructions as GitHub release artifacts#111
sdegroot merged 6 commits into
mainfrom
feature/agents

Conversation

@sdegroot

@sdegroot sdegroot commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add agents-java.zip and agents-kotlin.zip as GitHub release artifacts
  • Include AI coding assistant instructions (guidelines, code samples, FQN references) to help AI tools generate correct Fluxzero code
  • Workflow creates zips during build, uploads as artifacts, and attaches to GitHub releases
  • Convert all Kotlin agent instruction examples to idiomatic Kotlin syntax (data classes, Kotlin properties, string templates, etc.) instead of Java syntax

Changes

Release Artifacts

  • GitHub Actions workflow now creates agents-java.zip and agents-kotlin.zip
  • Zip files are uploaded as build artifacts and attached to GitHub releases
  • Each zip contains domain-specific agent instructions in their respective language folders

Kotlin Examples Update

  • Converted all code samples in agent-instructions/kotlin/ from Java to Kotlin syntax:
    • Java records → Kotlin data classes
    • Java methods → Kotlin functions with proper syntax
    • Builder patterns → .copy() method
    • Java interfaces → Kotlin interfaces with properties
    • Static members → companion object / object
    • List.of()listOf()
    • Java lambdas → Kotlin lambda syntax
    • Nullability with ? syntax
  • Updated guidelines and file references from .java to .kt
  • Updated project structure references from src/main/java to src/main/kotlin

Test plan

  • Verify workflow syntax is valid
  • After merge and release, verify GitHub release page includes both zip files
  • Download and verify each zip contains the expected folder structure (java/ or kotlin/ with agents/ subdirectories)
  • Verify Kotlin examples use proper Kotlin syntax (not Java syntax)

Dependencies

This PR is related to fluxzero-io/fluxzero-cli#28. This PR introduces a gradle/maven plugin which can help auto-update the agent instructions.

Add agents-java.zip and agents-kotlin.zip to GitHub releases. These zip
files contain AI coding assistant instructions (guidelines, code samples,
and FQN references) to help AI tools generate correct Fluxzero code.

The workflow creates the zips during build, uploads them as artifacts,
and attaches them to the GitHub release.
sdegroot and others added 3 commits February 2, 2026 20:51
… syntax

Converted all code examples in agent-instructions/kotlin/ from Java syntax
to proper Kotlin syntax and idioms:

- Replaced Java records with Kotlin data classes
- Changed method declarations to Kotlin function syntax
- Updated builder patterns to use .copy() instead of .toBuilder().build()
- Converted Java interfaces to Kotlin interfaces with property syntax
- Changed static members to use companion object or object declarations
- Replaced List.of() with listOf()
- Updated lambda syntax to Kotlin style
- Fixed nullability handling with Kotlin's ? syntax
- Changed file references from .java to .kt in guidelines
- Updated project structure references from src/main/java to src/main/kotlin

This ensures AI assistants receive accurate Kotlin examples when working
with Fluxzero projects, improving code generation quality and reducing
the need for manual syntax corrections.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@renedewaele renedewaele self-assigned this Feb 2, 2026
Comment thread agent-instructions/kotlin/agents/rules/guidelines.md Outdated
Comment thread agent-instructions/kotlin/agents/rules/guidelines.md Outdated
Comment thread agent-instructions/kotlin/agents/rules/guidelines.md Outdated
Comment thread agent-instructions/kotlin/agents/rules/guidelines.md Outdated
Comment thread agent-instructions/kotlin/agents/rules/guidelines.md Outdated
Comment thread agent-instructions/kotlin/agents/rules/guidelines.md Outdated
Comment thread agent-instructions/kotlin/agents/rules/code-samples.md Outdated
Comment thread agent-instructions/kotlin/agents/rules/code-samples.md Outdated
Comment thread agent-instructions/kotlin/agents/rules/code-samples.md Outdated
sdegroot and others added 2 commits February 3, 2026 07:43
Applied review feedback from PR #111:

Guidelines fixes:
- Use ::class instead of ::class.java for Fluxzero SDK methods (generateId, search, etc.)
- Document that Instant or Message should be injected for time handling in @apply methods, not Clock
- Require fully qualified names in JSON test files for Kotlin (not simple names)
- Clarify that searchable aggregates are indexed when modified
- Remove incorrect mvn clean suggestion

Code samples fixes:
- Replace all ::class.java with ::class for Fluxzero SDK method calls
- Update JSON test file example to show FQN requirement for Kotlin
- Keep ::class.java only for Java interop methods (getPayloadAs, TestFixture methods)

These changes ensure Kotlin examples follow SDK best practices and avoid common
pitfalls when working with Kotlin and the Fluxzero framework.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@sdegroot
sdegroot merged commit f23c2d1 into main Feb 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants