Skip to content

[Feature] Implement cli.sh init command with environment checks and directory setup #6

@iSuperCoder

Description

@iSuperCoder

Description

Implement the cli.sh init command to initialize a JitAI development workspace. The command should perform environment validation before setting up the workspace structure.

Requirements

1. Environment Checks

Before proceeding with initialization, verify:

  • Python Environment:

    • Python >= 3.12 is installed and accessible
    • Required Python packages can be installed
    • Virtual environment can be created
  • Node.js Environment:

    • Node.js >= 20 is installed and accessible
    • npm/yarn is available
    • Can install required packages

2. Directory Construction

After successful environment checks:

  • Create the jitai-workspace directory structure
  • Copy template files from the repository
  • Download required directory files:
    • system/bin/builder
    • system/bin/jitnode
  • Download framework applications as needed
  • Set up configuration files with default values
  • Initialize Python virtual environment
  • Install initial dependencies

3. Error Handling

  • Provide clear error messages if environment checks fail
  • Suggest remediation steps for common issues

4. Output

  • Display progress during initialization
  • Show summary of what was installed/configured
  • Provide next steps for the developer

Acceptance Criteria

  • Environment checks pass on clean systems with Python and Node.js
  • Directory structure is created correctly
  • All required components are downloaded
  • Clear error messages for missing dependencies
  • Command completes successfully and workspace is ready for development

Technical Notes

  • Consider using a configuration file to specify download URLs and versions
  • Implement retry logic for network downloads

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions