Skip to content

feat: add GraalVM native-image support for CLI#63

Merged
linroid merged 5 commits intomainfrom
feat/cli-native-binary
Feb 12, 2026
Merged

feat: add GraalVM native-image support for CLI#63
linroid merged 5 commits intomainfrom
feat/cli-native-binary

Conversation

@linroid
Copy link
Owner

@linroid linroid commented Feb 12, 2026

Summary

  • Add GraalVM Native Build Tools plugin (0.11.4) to build the CLI module into a standalone native binary
  • Configure Oracle GraalVM 21 toolchain with Kotlin-specific class initialization settings
  • Build via ./gradlew :cli:nativeCompile, producing a ~72MB kdown executable at cli/build/native/nativeCompile/kdown

Test plan

  • ./gradlew :cli:nativeCompile builds successfully
  • kdown binary runs without JVM and prints usage help
  • Test kdown server subcommand with the native binary
  • Test a file download with the native binary

🤖 Generated with Claude Code

linroid and others added 4 commits February 12, 2026 23:58
Add support for loading server configuration from a TOML file using
ktoml, with CLI flags taking precedence over file values. Includes
--config flag for explicit path, --generate-config to create a default
config template, and automatic loading from the platform config directory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add cli/README.md with full documentation for all CLI commands (download,
queue-demo, server), flags, TOML config file format and reference, speed
limit format, and database paths. Update root README to link to CLI docs,
add CLI to the modules table, and show daemon CLI usage examples.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configure the GraalVM Native Build Tools plugin to compile the CLI
module into a standalone native binary via `./gradlew :cli:nativeCompile`.
The resulting `kdown` executable requires no JVM to run.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

Rename all `kdown-cli` references to `kdown` and remove "Example"
from the title to match the native binary name.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@linroid linroid merged commit 3f248b0 into main Feb 12, 2026
@linroid linroid deleted the feat/cli-native-binary branch February 12, 2026 16:28
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.

1 participant