-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Add Links Notation configuration support with lino-arguments #6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: #5
Implements full Links Notation configuration support similar to https://github.com/link-foundation/lino-arguments for Rust. Features: - New lino_args module with case conversion utilities - Environment variable helpers with case-insensitive lookup - Lenv file loading support for .lenv configuration files - Auto-loading of lenv files from CLI args, environment, or common locations - Full CLI argument parsing with clap - All CLI options have corresponding environment variable support - Configuration priority chain: CLI args > Env vars > Config files > Defaults - RuntimeConfig struct for unified configuration management - 26 new unit tests for lino_args module Fixes #5 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
On Windows, parallel test execution can cause race conditions when multiple tests use the same environment variable name. Use unique names for each test case to ensure isolation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The previous implementation relied on nanosecond timestamp uniqueness, which failed on systems with lower timer resolution (e.g., macOS). Add atomic counter to ensure each ID is unique even when called multiple times in the same nanosecond. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This reverts commit a975706.
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
|
How about docs? Move lino args to root folder Ensure all changes are correct, consistent and fully meet the requirements. |
|
🤖 AI Work Session Started Starting automated work session at 2025-12-31T17:52:41.274Z The PR has been converted to draft mode while work is in progress. This comment marks the beginning of an AI work session. Please wait working session to finish, and provide your feedback. |
- Restructured lino_args module to lib/rust/lino_args following lino-arguments repo pattern - Created comprehensive README.md with full API documentation, usage examples, and integration guides - Updated imports in src/lib.rs to reference the new location - All 113 unit tests, 9 integration tests, and 12 doc tests pass - cargo fmt and clippy checks pass with no warnings This prepares the codebase for potential multi-language implementations (js, rust, etc.) in the future, following the structure from the original lino-arguments repository. Addresses feedback from PR #6 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
✅ Implementation CompleteAll feedback has been addressed: Changes Made
Verification
StructureThe PR is ready for review and can be marked as ready when you're satisfied with the changes. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
Now working session is ended, feel free to review and add any feedback on the solution draft. |
Summary
Implements full Links Notation configuration support for the trading bot, following the structure and patterns from lino-arguments for Rust. This provides a unified configuration system that merges settings from multiple sources with a clear priority chain.
Project Structure
lib/rust/lino_args/Module:./lib/rust/directory to prepare for multi-language implementations (following lino-arguments monorepo pattern)to_upper_case,to_camel_case,to_kebab_case,to_snake_case,to_pascal_casegetenv,getenv_int,getenv_bool,getenv_decimal,getenv_u64.lenvconfiguration filesCLI Support:
--config,--lenv,--log-level,--verbose,--dry-run,--account,--user,--balance-interval,--order-delay,--run-once,--demoTRADER_BOT_CONFIG,TRADER_BOT_LOG_LEVEL)Configuration Priority Chain (Links Notation):
Documentation
The
lib/rust/lino_args/README.mdprovides:Usage Examples
Test Plan
cargo fmt --checkpassescargo clippy --all-targets --all-featurespasses with no warningscargo run -- --democargo run -- --helpChanges Summary
./lib/rust/directory for better organizationFixes #5
🤖 Generated with Claude Code