Skip to content

Releases: Abega1642/ar-infra-cli

v0.2.0

16 Jan 19:59

Choose a tag to compare

AR-Infra CLI v0.2.0

Release Date: January 16, 2026
Status: Stable
Distribution: PyPI, GitHub Releases (Binary)

Overview

This release introduces MySQL database support, a new dependency management command, and critical improvements to template compatibility and OpenAPI documentation handling. The enhanced feature selection workflow now provides a clearer separation between database and infrastructure component choices.

What's New in v0.2.0

MySQL Database Support

  • Multiple database options: Choose between PostgreSQL and MySQL during project initialization
  • Dedicated database selection workflow: Database choice is now a separate step with clear prompts
  • Full MySQL integration: Connection pooling, migrations, and entity management configured automatically
  • Flexible infrastructure: Select your preferred relational database without affecting other features

New add-dependency Command

  • Gradle dependency management: Add dependencies to existing projects without manual file editing
  • Single or batch additions: Add one dependency or multiple in a single command
  • Project path flexibility: Specify custom project paths or use current directory
  • Proper formatting: Dependencies are added with correct Gradle syntax and formatting

Enhanced OpenAPI Documentation Handling

  • Dynamic specification cleanup: OpenAPI documentation (doc/api.yml) now updates based on selected features
  • SwaggerHandler integration: Automatically removes unused API endpoints for non-selected features
  • Accurate documentation: Generated API specifications reflect only the enabled infrastructure components

Template Version Compatibility

  • Tag-based cloning: CLI now clones specific template repository versions using Git tags
  • Backward compatibility: Older CLI versions continue to work with their corresponding template versions
  • Forward compatibility: New template updates won't break existing CLI installations
  • Version isolation: Each CLI version is locked to a compatible template version

Streamlined Feature Selection

  • Two-step selection process: Database choice separated from other infrastructure features
  • Clearer user experience: Distinct prompts for database and additional components
  • Zero-feature option: New --no-feature flag generates minimal Spring Boot projects
  • Better workflow: More intuitive feature selection aligned with project needs

Installation

Binary Installation (Recommended)

Linux (x64)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.2.0/ar-infra-linux-amd64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.2.0/ar-infra-linux-amd64.sha256
shasum -a 256 -c ar-infra-linux-amd64.sha256
chmod +x ar-infra-linux-amd64
sudo mv ar-infra-linux-amd64 /usr/local/bin/ar-infra

macOS (Intel)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.2.0/ar-infra-macos-amd64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.2.0/ar-infra-macos-amd64.sha256
shasum -a 256 -c ar-infra-macos-amd64.sha256
chmod +x ar-infra-macos-amd64
sudo mv ar-infra-macos-amd64 /usr/local/bin/ar-infra

macOS (Apple Silicon)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.2.0/ar-infra-macos-arm64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.2.0/ar-infra-macos-arm64.sha256
shasum -a 256 -c ar-infra-macos-arm64.sha256
chmod +x ar-infra-macos-arm64
sudo mv ar-infra-macos-arm64 /usr/local/bin/ar-infra

Windows (PowerShell as Administrator)

Invoke-WebRequest -Uri "https://github.com/Abega1642/ar-infra-cli/releases/download/v0.2.0/ar-infra-windows-amd64.exe" -OutFile "ar-infra.exe"
Invoke-WebRequest -Uri "https://github.com/Abega1642/ar-infra-cli/releases/download/v0.2.0/ar-infra-windows-amd64.exe.sha256" -OutFile "ar-infra.exe.sha256"
certutil -hashfile ar-infra.exe SHA256
Move-Item ar-infra.exe C:\Windows\System32\ar-infra.exe

Python Package Installation

Using pipx (recommended for CLI tools):

pipx install ar-infra-cli

Using pip:

pip install ar-infra-cli

Usage

Interactive Mode

ar-infra init

The interactive mode now includes:

  • Project configuration (group ID, artifact ID, version, etc.)
  • Database selection (PostgreSQL or MySQL, or skip entirely)
  • Infrastructure feature selection (RabbitMQ, S3, Email)
  • GitHub repository setup (optional)
  • Automated authorization via ar-infra-bot GitHub App

Command-Line Mode

# Generate project with MySQL and RabbitMQ
ar-infra init \
  --group=com.example \
  --artifact=backend-api \
  --project-version=1.0.0 \
  --features=mysql,rabbitmq

# Generate minimal project with no features
ar-infra init \
  --group=com.example \
  --artifact=minimal-app \
  --no-feature

# Skip GitHub App integration
ar-infra init \
  --group=com.example \
  --artifact=backend-api \
  --features=postgresql,s3_bucket \
  --skip-github-app

Adding Dependencies to Existing Projects

# Add a single dependency
ar-infra add-dependency "implementation 'io.jsonwebtoken:jjwt-api:0.13.0'"

# Add multiple dependencies
ar-infra add-dependency \
  "implementation 'io.jsonwebtoken:jjwt-api:0.13.0'" \
  "runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.13.0'" \
  "runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.13.0'"

# Add dependency to specific project
ar-infra add-dependency \
  --project-path /path/to/project \
  "implementation 'org.springframework.boot:spring-boot-starter-data-jpa'"

Available Options for init Command

  • --group: Maven group ID (e.g., com.example)
  • --artifact: Maven artifact ID (e.g., myapp)
  • --project-version: Project version (default: 1.0.0)
  • --path: Output directory path
  • --project-dir: Project directory name
  • --features: Comma-separated list of features to enable
  • --disable-features: Comma-separated list of features to disable
  • --no-feature: Generate project without any infrastructure features
  • --no-cache: Skip template caching and fetch fresh from repository
  • --skip-github-app: Skip GitHub App integration during project setup

Infrastructure Components

The following infrastructure features are available for integration:

Databases (Choose One)

  • PostgreSQL Database: Advanced relational database with robust feature set
  • MySQL Database: Popular relational database with wide ecosystem support

Both options include connection pooling, migration support, and entity management.

Additional Infrastructure

  • RabbitMQ Message Broker: Message queue configuration and connection handling
  • AWS S3-compatible Storage (BackBlaze): Bucket configuration and file management utilities
  • Email Service: SMTP configuration and email sending capabilities

Migration from v0.1.3

This release introduces breaking changes in the template structure due to MySQL support. However, the tag-based cloning system ensures that v0.1.3 continues to work correctly.

Key points:

  1. v0.1.3 users will continue to fetch templates compatible with their version
  2. Upgrading to v0.2.0 provides access to MySQL and new features
  3. New add-dependency command works with projects from any version
  4. Template compatibility is automatically managed through version tags

Recommended migration path:

  1. Update to v0.2.0 for new features and improvements
  2. Use add-dependency command to manage dependencies in existing projects
  3. Generate new projects to take advantage of MySQL support and enhanced workflows
  4. Existing projects from v0.1.3 continue to function without modification

What's Next

Database Selection Workflow

When creating a new project, you'll now experience a two-step feature selection:

  1. Database Selection: Choose if you want a database, and if so, which one (PostgreSQL or MySQL)
  2. Infrastructure Components: Select additional features like RabbitMQ, S3, or Email support

This separation provides a clearer project setup experience and better aligns with typical application architecture decisions.

Template Version Management

The CLI now automatically clones the correct template version:

  • v0.2.0 uses template tag v0.2.0
  • v0.1.3 uses template tag v0.1.3
  • Future versions will maintain this pattern

This ensures that CLI updates won't break your workflow, and you can confidently use any version.

Dependency Management

The new add-dependency command simplifies dependency management:

# View help for the command
ar-infra add-dependency --help

# Add Spring Security dependencies
ar-infra add-dependency \
  "implementation 'org.springframework.boot:spring-boot-starter-security'" \
  "testImplementation 'org.springframework.security:spring-security-test'"

Security Considerations

  • Binary integrity verification via SHA256 checksums is strongly recommended
  • All binaries are built via GitHub Actions with full transparency
  • Secrets are injected at build time rather than bundled, improving security
  • The ar-infra-bot GitHub App uses minimal, scoped permissions
  • No code signing is provided; users should verify checksums before execution
  • Source code is available for audit at https://github.com/Abega1642/ar-infra-cli
  • Template version tags ensure predictable and auditable project generation

System Requirements

Binary Distribution:

  • Linux: x86_64 architecture, GLIBC 2.17+
  • macOS: 10.13+ (Intel), 11.0+ (Apple Silicon)
  • Windows: Windows 10/11, x86_64 architecture

Python Package:

  • Python 3.11 or higher
  • pip or pipx package manager

Known Limitations

  • Only PostgreSQL and MySQL are supported as relational databases in this release
  • The S3-compatible bucket used is BackBlaze
  • GitHub App integration requires internet connectivity during p...
Read more

v0.1.3

12 Jan 17:31

Choose a tag to compare

AR-Infra CLI v0.1.3

Release Date: January 12, 2026
Status: Stable
Distribution: PyPI, GitHub Releases (Binary)

Overview

This release introduces seamless GitHub integration through the ar-infra-bot GitHub App, ensuring that generated projects have fully functional CI/CD pipelines from the start. It also includes important bug fixes and UI improvements.

What's New in v0.1.3

GitHub App Integration

  • Automated repository setup: The ar-infra-bot GitHub App now handles repository authorization during project generation
  • Working CI/CD out-of-the-box: CodeQL and Semgrep workflows are automatically configured with proper permissions
  • Secure authorization flow: GitHub App provides secure, scoped access without requiring personal access tokens
  • Optional integration: Use --skip-github-app flag if you want to set up GitHub manually or don't need CI/CD

Enhanced User Experience

  • Improved CLI messaging: Clearer, more informative messages throughout the project generation process
  • Intuitive workflow: Smoother project setup experience with contextual prompts

Bug Fixes

  • Fixed formatting with no features: Project formatting now works correctly even when no infrastructure features are selected
  • Resolved CI authorization issues: CodeQL and Semgrep workflows no longer fail due to permission problems
  • Improved error handling: Better error messages when GitHub authorization is needed

Why This Update Matters

In v0.1.2, users would generate projects successfully, but the included CI/CD workflows (CodeQL and Semgrep) would fail on the first push to GitHub due to missing repository permissions. This release eliminates that friction by integrating the GitHub authorization step directly into the project generation workflow.

Installation

Binary Installation (Recommended)

Linux (x64)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.3/ar-infra-linux-amd64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.3/ar-infra-linux-amd64.sha256
shasum -a 256 -c ar-infra-linux-amd64.sha256
chmod +x ar-infra-linux-amd64
sudo mv ar-infra-linux-amd64 /usr/local/bin/ar-infra

macOS (Intel)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.3/ar-infra-macos-amd64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.3/ar-infra-macos-amd64.sha256
shasum -a 256 -c ar-infra-macos-amd64.sha256
chmod +x ar-infra-macos-amd64
sudo mv ar-infra-macos-amd64 /usr/local/bin/ar-infra

macOS (Apple Silicon)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.3/ar-infra-macos-arm64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.3/ar-infra-macos-arm64.sha256
shasum -a 256 -c ar-infra-macos-arm64.sha256
chmod +x ar-infra-macos-arm64
sudo mv ar-infra-macos-arm64 /usr/local/bin/ar-infra

Windows (PowerShell as Administrator)

Invoke-WebRequest -Uri "https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.3/ar-infra-windows-amd64.exe" -OutFile "ar-infra.exe"
Invoke-WebRequest -Uri "https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.3/ar-infra-windows-amd64.exe.sha256" -OutFile "ar-infra.exe.sha256"
certutil -hashfile ar-infra.exe SHA256
Move-Item ar-infra.exe C:\Windows\System32\ar-infra.exe

Python Package Installation

Using pipx (recommended for CLI tools):

pipx install ar-infra-cli

Using pip:

pip install ar-infra-cli

Usage

Interactive Mode

ar-infra init

The interactive mode now includes a GitHub authorization step when you choose to push your project to a repository. The CLI will guide you through:

  • Project configuration (group ID, artifact ID, version, etc.)
  • Infrastructure feature selection
  • GitHub repository setup (optional)
  • Automated authorization via ar-infra-bot GitHub App

Command-Line Mode

ar-infra init \
  --group=com.example \
  --artifact=backend-api \
  --project-version=1.0.0 \
  --features=postgresql,rabbitmq,s3_bucket

# Skip GitHub App integration if you don't need CI/CD setup
ar-infra init \
  --group=com.example \
  --artifact=backend-api \
  --skip-github-app

Available Options

  • --group: Maven group ID (e.g., com.example)
  • --artifact: Maven artifact ID (e.g., myapp)
  • --project-version: Project version (default: 1.0.0)
  • --path: Output directory path
  • --project-dir: Project directory name
  • --features: Comma-separated list of features to enable
  • --disable-features: Comma-separated list of features to disable
  • --no-cache: Skip template caching and fetch fresh from repository
  • --skip-github-app: Skip GitHub App integration during project setup

Infrastructure Components

The following infrastructure features are available for integration:

  • PostgreSQL Database: Connection pooling, migrations, and entity management
  • RabbitMQ Message Broker: Message queue configuration and connection handling
  • AWS S3-compatible Storage (BackBlaze): Bucket configuration and file management utilities
  • Email Service: SMTP configuration and email sending capabilities

Migration from v0.1.2

This release is fully backward compatible with v0.1.2. The key improvement is the GitHub App integration which enhances the workflow but doesn't break existing usage patterns.

Recommended actions:

  1. Update to v0.1.3 to benefit from GitHub App integration
  2. New projects will automatically have working CI/CD pipelines
  3. Existing projects from v0.1.2 can be regenerated with v0.1.3 for GitHub integration benefits

What's Next

If you're creating a new project that you plan to push to GitHub, the CLI will now:

  1. Guide you through the project generation as before
  2. Offer to set up GitHub repository integration
  3. Walk you through installing the ar-infra-bot GitHub App
  4. Ensure all CI/CD workflows have the correct permissions

This means your CodeQL and Semgrep security scans will work immediately after your first push!

Security Considerations

  • Binary integrity verification via SHA256 checksums is strongly recommended
  • All binaries are built via GitHub Actions with full transparency
  • Secrets are now injected at build time rather than bundled, improving security
  • The ar-infra-bot GitHub App uses minimal, scoped permissions
  • No code signing is provided; users should verify checksums before execution
  • Source code is available for audit at https://github.com/Abega1642/ar-infra-cli

System Requirements

Binary Distribution:

  • Linux: x86_64 architecture, GLIBC 2.17+
  • macOS: 10.13+ (Intel), 11.0+ (Apple Silicon)
  • Windows: Windows 10/11, x86_64 architecture

Python Package:

  • Python 3.11 or higher
  • pip or pipx package manager

Known Limitations

  • PostgreSQL is the only supported relational database in this release
  • The S3-compatible bucket used is BackBlaze
  • GitHub App integration requires internet connectivity during project setup

Support and Documentation

Full Changelog

See the full changelog for all changes.

License

This software is released under the terms specified in the LICENSE file in the repository root.

What's Changed

  • refactor(src.ar_infra.infrastructure.config): update bot cred handling by @Abega1642 in #30
  • build: introduce v0.1.2 by @Abega1642 in #31
  • Fix/bot cred by @Abega1642 in #34
  • Feat/handle GitHub app by @Abega1642 in #35
  • refactor: remove import statement handling from facadeit_handler.py by @Abega1642 in #36
  • refactor(generate_project_use_case): add re-run logic when no feature is selected to activate format script by @Abega1642 in #37
  • refactor(path_resolver): remove boilerplate code on path traversal by @Abega1642 in #38
  • refactor: enhance src.ar_infra.ui.message.py by @Abega1642 in #42
  • deps: upgrade requested dependencies by @Abega1642 in #43
  • refactor: polish code struct by @Abega1642 in #44

Full Changelog: v0.1.2...v0.1.3

v0.1.2

10 Jan 12:22

Choose a tag to compare

AR-Infra CLI v0.1.2

Release Date: January 10, 2026
Status: Stable
Distribution: PyPI, GitHub Releases (Binary)

Overview

This release brings significant improvements to the project generation workflow, enhanced cross-platform support for Windows users, and improved security in the build process.

What's New in v0.1.2

Enhanced Windows Support

  • Dual-shell compatibility: Windows users can now execute format scripts with both CMD (.bat) and Bash shells
  • Native .bat file handling: Automatic generation and execution of Windows batch scripts for project formatting
  • Improved cross-platform consistency: Windows experience now matches Linux/macOS functionality

Improved Project Generation Workflow

  • Comprehensive logging system: Detailed progress tracking throughout the entire project generation process
  • Better error reporting: Clear, actionable error messages when project generation fails
  • Process visibility: Users can now see exactly which step is executing and where failures occur
  • Enhanced debugging: Logs provide detailed information for troubleshooting issues

Security Improvements

  • Secure build-time secret injection: Configuration values are now injected directly into source code during build
  • Removed .env file dependency: Secrets are no longer bundled as extractable files in binaries
  • Improved binary security: Significantly reduced risk of secret extraction from distributed binaries
  • Build-time validation: Enhanced security gates in the CI/CD pipeline

Bug Fixes

  • Fixed missing banner in PyPI package installations
  • Corrected resource file inclusion in Python package distribution
  • Resolved inconsistencies between binary and PyPI package contents

Installation

Binary Installation (Recommended)

Linux (x64)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.2/ar-infra-linux-amd64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.2/ar-infra-linux-amd64.sha256
shasum -a 256 -c ar-infra-linux-amd64.sha256
chmod +x ar-infra-linux-amd64
sudo mv ar-infra-linux-amd64 /usr/local/bin/ar-infra

macOS (Intel)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.2/ar-infra-macos-amd64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.2/ar-infra-macos-amd64.sha256
shasum -a 256 -c ar-infra-macos-amd64.sha256
chmod +x ar-infra-macos-amd64
sudo mv ar-infra-macos-amd64 /usr/local/bin/ar-infra

macOS (Apple Silicon)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.2/ar-infra-macos-arm64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.2/ar-infra-macos-arm64.sha256
shasum -a 256 -c ar-infra-macos-arm64.sha256
chmod +x ar-infra-macos-arm64
sudo mv ar-infra-macos-arm64 /usr/local/bin/ar-infra

Windows (PowerShell as Administrator)

Invoke-WebRequest -Uri "https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.2/ar-infra-windows-amd64.exe" -OutFile "ar-infra.exe"
Invoke-WebRequest -Uri "https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.2/ar-infra-windows-amd64.exe.sha256" -OutFile "ar-infra.exe.sha256"
certutil -hashfile ar-infra.exe SHA256
Move-Item ar-infra.exe C:\Windows\System32\ar-infra.exe

Python Package Installation

Using pipx (recommended for CLI tools):

pipx install ar-infra-cli

Using pip:

pip install ar-infra-cli

Usage

Interactive Mode

ar-infra init

The interactive mode guides you through project configuration with prompts for:

  • Project group ID
  • Artifact ID
  • Version number
  • Output directory
  • Infrastructure feature selection

Command-Line Mode

ar-infra init \
  --group=com.example \
  --artifact=backend-api \
  --project-version=1.0.0 \
  --features=postgresql,rabbitmq,s3_bucket

Available Options

  • --group: Maven group ID (e.g., com.example)
  • --artifact: Maven artifact ID (e.g., myapp)
  • --project-version: Project version (default: 1.0.0)
  • --path: Output directory path
  • --project-dir: Project directory name
  • --features: Comma-separated list of features to enable
  • --disable-features: Comma-separated list of features to disable

Infrastructure Components

The following infrastructure features are available for integration:

  • PostgreSQL Database: Connection pooling, migrations, and entity management
  • RabbitMQ Message Broker: Message queue configuration and connection handling
  • AWS S3-compatible Storage (BackBlaze): Bucket configuration and file management utilities
  • Email Service: SMTP configuration and email sending capabilities

Migration from v0.1.1

This release is fully backward compatible with v0.1.1. No changes to existing usage patterns are required.

Recommended actions:

  1. Update to v0.1.2 to benefit from improved error reporting
  2. Windows users should update to take advantage of native .bat support
  3. All users will benefit from enhanced logging during project generation

Security Considerations

  • Binary integrity verification via SHA256 checksums is strongly recommended
  • All binaries are built via GitHub Actions with full transparency
  • Secrets are now injected at build time rather than bundled, improving security
  • No code signing is provided; users should verify checksums before execution
  • Source code is available for audit at https://github.com/Abega1642/ar-infra-cli

System Requirements

Binary Distribution:

  • Linux: x86_64 architecture, GLIBC 2.17+
  • macOS: 10.13+ (Intel), 11.0+ (Apple Silicon)
  • Windows: Windows 10/11, x86_64 architecture

Python Package:

  • Python 3.11 or higher
  • pip or pipx package manager

Known Limitations

  • PostgreSQL is the only supported relational database in this release
  • The S3-compatible bucket used is BackBlaze

Support and Documentation

Full Changelog

See the full changelog for all changes.

License

This software is released under the terms specified in the LICENSE file in the repository root.

What's Changed

  • fix: handle Windows interpreter with FormatScriptRunner by @Abega1642 in #27
  • refactor: enhance project generation workflow by @Abega1642 in #29

Full Changelog: v0.1.1...v0.1.2

v0.1.1

08 Jan 19:10

Choose a tag to compare

AR-Infra CLI v0.1.1

Release Date: January 7, 2026
Status: Stable
Distribution: PyPI, GitHub Releases (Binary)

Overview

This is the initial stable release of AR-Infra CLI, a command-line interface for generating production-ready Spring Boot projects with standardized infrastructure configurations.

Core Features

Project Generation

  • Interactive project initialization with guided prompts
  • Command-line interface for automated project creation
  • Configurable project metadata (group ID, artifact ID, version)
  • Customizable output directory structure

Infrastructure Components

The following infrastructure features are available for integration:

  • PostgreSQL Database: Connection pooling, migrations, and entity management
  • RabbitMQ Message Broker: Message queue configuration and connection handling
  • AWS S3-compatible Storage (BackBlaze): Bucket configuration and file management utilities
  • Email Service: SMTP configuration and email sending capabilities

Distribution Methods

Binary Distribution

  • Native executables for Linux (x64), macOS (Intel/ARM), and Windows (x64)
  • No Python runtime required
  • SHA256 checksums provided for integrity verification
  • Built and distributed via GitHub Actions with full audit trail

Python Package Distribution

  • Available on PyPI as ar-infra-cli
  • Supports Python 3.11+
  • Installation via pip or pipx

Installation

Binary Installation (Recommended)

Linux (x64)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.1/ar-infra-linux-amd64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.1/ar-infra-linux-amd64.sha256
shasum -a 256 -c ar-infra-linux-amd64.sha256
chmod +x ar-infra-linux-amd64
sudo mv ar-infra-linux-amd64 /usr/local/bin/ar-infra

macOS (Intel)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.1/ar-infra-macos-amd64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.1/ar-infra-macos-amd64.sha256
shasum -a 256 -c ar-infra-macos-amd64.sha256
chmod +x ar-infra-macos-amd64
sudo mv ar-infra-macos-amd64 /usr/local/bin/ar-infra

macOS (Apple Silicon)

curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.1/ar-infra-macos-arm64
curl -LO https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.1/ar-infra-macos-arm64.sha256
shasum -a 256 -c ar-infra-macos-arm64.sha256
chmod +x ar-infra-macos-arm64
sudo mv ar-infra-macos-arm64 /usr/local/bin/ar-infra

Windows (PowerShell as Administrator)

Invoke-WebRequest -Uri "https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.1/ar-infra-windows-amd64.exe" -OutFile "ar-infra.exe"
Invoke-WebRequest -Uri "https://github.com/Abega1642/ar-infra-cli/releases/download/v0.1.1/ar-infra-windows-amd64.exe.sha256" -OutFile "ar-infra.exe.sha256"
certutil -hashfile ar-infra.exe SHA256
Move-Item ar-infra.exe C:\Windows\System32\ar-infra.exe

Python Package Installation

Using pipx (recommended for CLI tools):

pipx install ar-infra-cli

Using pip:

pip install ar-infra-cli

Usage

Interactive Mode

ar-infra init

The interactive mode guides you through project configuration with prompts for:

  • Project group ID
  • Artifact ID
  • Version number
  • Output directory
  • Infrastructure feature selection

Command-Line Mode

ar-infra init \
  --group=com.example \
  --artifact=backend-api \
  --project-version=1.0.0 \
  --features=postgresql,rabbitmq,s3_bucket

Available Options

  • --group: Maven group ID (e.g., com.example)
  • --artifact: Maven artifact ID (e.g., myapp)
  • --project-version: Project version (default: 1.0.0)
  • --path: Output directory path
  • --project-dir: Project directory name
  • --features: Comma-separated list of features to enable
  • --disable-features: Comma-separated list of features to disable

Security Considerations

  • Binary integrity verification via SHA256 checksums is strongly recommended
  • All binaries are built via GitHub Actions with full transparency
  • No code signing is provided; users should verify checksums before execution
  • Source code is available for audit at https://github.com/Abega1642/ar-infra-cli

System Requirements

Binary Distribution:

  • Linux: x86_64 architecture, GLIBC 2.17+
  • macOS: 10.13+ (Intel), 11.0+ (Apple Silicon)
  • Windows: Windows 10/11, x86_64 architecture

Python Package:

  • Python 3.11 or higher
  • pip or pipx package manager

Known Limitations

  • PostgreSQL is the only supported relational database in this release
  • The S3-compatible bucket used is BackBlaze

Support and Documentation

License

This software is released under the terms specified in the LICENSE file in the repository root.

What's Changed

  • deps(deps-dev): bump coverage[toml] from 7.13.0 to 7.13.1 by @dependabot[bot] in #7
  • refactor: change GradleWritter, FeatureManager implementation by @Abega1642 in #8
  • feat: integrade FacadeIT handler by @Abega1642 in #9
  • feat: add development artifact remover by @Abega1642 in #10
  • feat: add format script runner by @Abega1642 in #11
  • feat: add RestExceptionHandlerManager by @Abega1642 in #12
  • refactor: refactor code smells by @Abega1642 in #13
  • Ci/cd compute.yml by @Abega1642 in #14
  • fix: fix test-feature-combination.sh by @Abega1642 in #15
  • deps(deps-dev): bump sphinx-autodoc-typehints from 3.6.0 to 3.6.1 by @dependabot[bot] in #19
  • deps(deps-dev): bump faker from 39.0.0 to 39.1.0 by @dependabot[bot] in #17
  • ci(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #16
  • deps(deps): bump gitpython from 3.1.45 to 3.1.46 by @dependabot[bot] in #18
  • feat: add e2e test for interactive mode on Linux & MacOS by @Abega1642 in #20

New Contributors

Full Changelog: https://github.com/Abega1642/ar-infra-cli/commits/v0.1.1