jetson-cli 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,126 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Overview
6
+
7
+ This repository is a Jetson setup system that includes the `jetson-containers` framework - a modular container build system for AI/ML packages on NVIDIA Jetson devices. The repository provides system setup scripts and integrates the jetson-containers framework as a Git submodule.
8
+
9
+ ## Common Commands
10
+
11
+ ### Jetson CLI (Recommended)
12
+ ```bash
13
+ # Install the CLI package globally
14
+ pip install jetson-cli
15
+
16
+ # System operations
17
+ jetson-cli probe # analyze system configuration
18
+ jetson-cli init # create environment profile
19
+ jetson-cli setup # complete system setup
20
+ jetson-cli configure docker # configure specific components
21
+ jetson-cli status # show system status
22
+ ```
23
+
24
+ ### Container Building
25
+ ```bash
26
+ # Install the container tools
27
+ bash jetson-containers/install.sh
28
+
29
+ # Build a container with specific packages
30
+ jetson-containers build pytorch # single package
31
+ jetson-containers build pytorch jupyterlab # multiple packages chained
32
+ jetson-containers build --multiple pytorch tensorflow # separate containers
33
+ jetson-containers build --name=my_container pytorch # custom name
34
+
35
+ # List available packages
36
+ jetson-containers build --list-packages
37
+ jetson-containers build --show-packages
38
+ ```
39
+
40
+ ### Running Containers
41
+ ```bash
42
+ # Run a container (pulls/builds if needed)
43
+ jetson-containers run $(autotag l4t-pytorch)
44
+
45
+ # Manual docker run
46
+ sudo docker run --runtime nvidia -it --rm --network=host dustynv/l4t-pytorch:r36.2.0
47
+ ```
48
+
49
+ ### System Setup (Direct Scripts)
50
+ ```bash
51
+ # Run system setup scripts directly
52
+ ./scripts/setup-system.sh # main system configuration
53
+ ./scripts/configure-docker.sh # Docker daemon setup
54
+ ./scripts/configure-swap.sh # memory/swap tuning
55
+ ./scripts/configure-ssd.sh # storage configuration
56
+ ```
57
+
58
+ ## Architecture
59
+
60
+ ### Core Structure
61
+ - **`jetson-containers/`**: Git submodule containing the main container framework
62
+ - `jetson_containers/`: Python modules for build system (`build.py`, `container.py`, `packages.py`)
63
+ - `packages/`: Container package definitions organized by category (llm/, ml/, robotics/, etc.)
64
+ - `build.sh`/`run.sh`: Wrapper scripts for container operations
65
+ - `install.sh`: System installation script
66
+
67
+ - **`scripts/`**: System configuration scripts for Jetson devices
68
+ - Environment setup, Docker configuration, hardware tuning
69
+
70
+ - **`jetson_cli/`**: Python CLI package for system management
71
+ - `cli.py`: Main Click-based command interface
72
+ - `utils.py`: Platform detection and script execution utilities
73
+ - Provides user-friendly interface to underlying scripts
74
+
75
+ ### Package System
76
+ The container framework uses a modular package system where:
77
+ - Each package has a `Dockerfile` and optional `config.py` for dynamic configuration
78
+ - Packages specify dependencies, build requirements, and metadata via YAML headers or config files
79
+ - The build system resolves dependencies and chains Dockerfiles together
80
+ - Base images default to JetPack-compatible containers (l4t-base, l4t-jetpack, or ubuntu)
81
+
82
+ ### Container Categories
83
+ - **ML/AI**: PyTorch, TensorFlow, ONNX Runtime, transformers
84
+ - **LLM**: SGLang, vLLM, MLC, text-generation-webui, ollama, llama.cpp
85
+ - **VLM**: LLaVA, VILA, NanoLLM (vision-language models)
86
+ - **Robotics**: ROS, Genesis, OpenVLA, LeRobot
87
+ - **Computer Vision**: NanoOWL, SAM, CLIP, DeepStream
88
+ - **Graphics**: Stable Diffusion, ComfyUI, NeRF Studio
89
+
90
+ ### Build Process
91
+ 1. Package scanning finds available packages under `jetson-containers/packages/`
92
+ 2. Dependency resolution determines build order
93
+ 3. Dockerfiles are chained together with intermediate images
94
+ 4. Build commands and logs are saved under `jetson-containers/logs/`
95
+ 5. Containers are tagged with L4T/JetPack version compatibility
96
+
97
+ ## Testing
98
+ Test scripts are typically included with each package as `test.py` or `test.sh` files. The build system can run tests automatically during container builds.
99
+
100
+ ## Version Management
101
+ - `CUDA_VERSION`: Can be overridden to rebuild stack for different CUDA versions
102
+ - `L4T_VERSION`: Automatically detected JetPack/L4T version for compatibility
103
+ - Package versions are managed through config files and can be pinned or dynamically selected
104
+
105
+ ## CLI Package Development
106
+
107
+ ### Installation
108
+ ```bash
109
+ # Development installation
110
+ pip install -e .
111
+
112
+ # Production installation
113
+ pip install jetson-cli
114
+ ```
115
+
116
+ ### GitHub Actions Pipelines
117
+ - **CI Pipeline**: Tests across Python versions, linting, security scans
118
+ - **Release Pipeline**: Automated version bumping and PyPI publishing on main branch merges
119
+ - **Installation Testing**: Validates package installation across environments
120
+
121
+ ### CLI Commands Reference
122
+ - `jetson-cli probe [--output table|json|yaml] [--save file]`: System analysis
123
+ - `jetson-cli init [--profile-name name] [--force]`: Environment profile creation
124
+ - `jetson-cli setup [--skip-docker] [--skip-swap] [--interactive]`: Complete setup
125
+ - `jetson-cli configure <docker|swap|ssd|power|gui>`: Component configuration
126
+ - `jetson-cli status [--format table|json]`: System status overview
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Ori Nachum
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,21 @@
1
+ include README.md
2
+ include LICENSE
3
+ include CLAUDE.md
4
+ include pyproject.toml
5
+ include setup.py
6
+
7
+ recursive-include jetson_cli *.py
8
+ recursive-include jetson_cli/scripts *.sh
9
+ recursive-include jetson_cli/config *.yaml *.yml *.json
10
+
11
+ recursive-include scripts *.sh *.yaml *.yml
12
+ recursive-include docs *.md
13
+
14
+ exclude .gitignore
15
+ exclude .github/workflows/*
16
+ exclude tests/*
17
+ exclude jetson-containers/*
18
+
19
+ global-exclude __pycache__
20
+ global-exclude *.py[co]
21
+ global-exclude .DS_Store
@@ -0,0 +1,213 @@
1
+ Metadata-Version: 2.4
2
+ Name: jetson-cli
3
+ Version: 0.2.0
4
+ Summary: Command-line interface for NVIDIA Jetson setup and configuration
5
+ Home-page: https://github.com/your-org/jetson-setup
6
+ Author: Jetson Setup Team
7
+ Author-email: Jetson Setup Team <support@jetson-setup.com>
8
+ License: MIT
9
+ Project-URL: Homepage, https://github.com/your-org/jetson-setup
10
+ Project-URL: Documentation, https://github.com/your-org/jetson-setup/blob/main/README.md
11
+ Project-URL: Repository, https://github.com/your-org/jetson-setup.git
12
+ Project-URL: Bug Reports, https://github.com/your-org/jetson-setup/issues
13
+ Keywords: jetson,nvidia,embedded,ai,ml,docker,containers,setup
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: System Administrators
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Operating System :: POSIX :: Linux
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Topic :: System :: Systems Administration
27
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
28
+ Classifier: Topic :: Utilities
29
+ Requires-Python: >=3.8
30
+ Description-Content-Type: text/markdown
31
+ License-File: LICENSE
32
+ Requires-Dist: click>=8.0.0
33
+ Requires-Dist: pyyaml>=6.0
34
+ Requires-Dist: tabulate>=0.9.0
35
+ Requires-Dist: packaging>=20.0
36
+ Requires-Dist: psutil>=5.8.0
37
+ Requires-Dist: rich>=12.0.0
38
+ Provides-Extra: dev
39
+ Requires-Dist: pytest>=6.0; extra == "dev"
40
+ Requires-Dist: pytest-cov>=2.0; extra == "dev"
41
+ Requires-Dist: black>=22.0; extra == "dev"
42
+ Requires-Dist: flake8>=4.0; extra == "dev"
43
+ Requires-Dist: isort>=5.0; extra == "dev"
44
+ Requires-Dist: bump2version>=1.0; extra == "dev"
45
+ Dynamic: author
46
+ Dynamic: home-page
47
+ Dynamic: license-file
48
+ Dynamic: requires-python
49
+
50
+ # jetson-cli
51
+
52
+ A comprehensive CLI tool for setting up NVIDIA Jetson devices and building containerized AI/ML applications using the jetson-containers framework.
53
+
54
+ ## Overview
55
+
56
+ jetson-cli provides a streamlined interface for:
57
+ - Analyzing and configuring Jetson hardware
58
+ - Setting up development environments
59
+ - Building and running containerized AI/ML applications
60
+ - Managing the jetson-containers ecosystem
61
+
62
+ ## Installation
63
+
64
+ ### From PyPI (Recommended)
65
+ ```bash
66
+ pip install jetson-cli
67
+ ```
68
+
69
+ ### From Source
70
+ ```bash
71
+ git clone https://github.com/orinachum/jetson-cli.git
72
+ cd jetson-cli
73
+ pip install -e .
74
+ ```
75
+
76
+ ## Quick Start
77
+
78
+ 1. **Analyze your system**:
79
+ ```bash
80
+ jetson-cli probe
81
+ ```
82
+
83
+ 2. **Initialize environment**:
84
+ ```bash
85
+ jetson-cli init
86
+ ```
87
+
88
+ 3. **Complete setup**:
89
+ ```bash
90
+ jetson-cli setup
91
+ ```
92
+
93
+ ## Commands
94
+
95
+ ### System Analysis
96
+ ```bash
97
+ jetson-cli probe # Show system configuration
98
+ jetson-cli probe --output json # Output as JSON
99
+ jetson-cli probe --save config.yaml # Save to file
100
+ ```
101
+
102
+ ### Environment Setup
103
+ ```bash
104
+ jetson-cli init # Create environment profile
105
+ jetson-cli init --profile-name dev # Custom profile name
106
+ jetson-cli init --force # Overwrite existing profile
107
+ ```
108
+
109
+ ### System Configuration
110
+ ```bash
111
+ jetson-cli setup # Complete system setup
112
+ jetson-cli setup --skip-docker # Skip Docker configuration
113
+ jetson-cli setup --interactive # Interactive mode
114
+ ```
115
+
116
+ ### Component Management
117
+ ```bash
118
+ jetson-cli configure docker # Configure Docker daemon
119
+ jetson-cli configure swap # Setup swap file
120
+ jetson-cli configure ssd # Configure SSD storage
121
+ jetson-cli configure power # Power management settings
122
+ jetson-cli configure gui # GUI environment setup
123
+ ```
124
+
125
+ ### Status Monitoring
126
+ ```bash
127
+ jetson-cli status # Show system status
128
+ jetson-cli status --format json # JSON output format
129
+ ```
130
+
131
+ ## jetson-containers Integration
132
+
133
+ This tool integrates with the [jetson-containers](https://github.com/dusty-nv/jetson-containers) framework to provide containerized AI/ML packages:
134
+
135
+ ### Container Building
136
+ ```bash
137
+ # After jetson-cli setup, use jetson-containers directly
138
+ jetson-containers build pytorch # Build PyTorch container
139
+ jetson-containers build pytorch jupyterlab # Chain multiple packages
140
+ jetson-containers build --name=my_app pytorch # Custom container name
141
+ ```
142
+
143
+ ### Available Packages
144
+ - **ML/AI**: PyTorch, TensorFlow, ONNX Runtime, transformers
145
+ - **LLM**: SGLang, vLLM, MLC, text-generation-webui, ollama
146
+ - **VLM**: LLaVA, VILA, NanoLLM (vision-language models)
147
+ - **Robotics**: ROS, Genesis, OpenVLA, LeRobot
148
+ - **Computer Vision**: NanoOWL, SAM, CLIP, DeepStream
149
+ - **Graphics**: Stable Diffusion, ComfyUI, NeRF Studio
150
+
151
+ ### Running Containers
152
+ ```bash
153
+ jetson-containers run $(autotag l4t-pytorch)
154
+ ```
155
+
156
+ ## Examples
157
+
158
+ ### Complete Jetson Setup Workflow
159
+ ```bash
160
+ # 1. Analyze hardware and software configuration
161
+ jetson-cli probe --save system-info.yaml
162
+
163
+ # 2. Create development environment profile
164
+ jetson-cli init --profile-name ml-dev
165
+
166
+ # 3. Configure the system for AI/ML development
167
+ jetson-cli setup
168
+
169
+ # 4. Verify everything is working
170
+ jetson-cli status
171
+
172
+ # 5. Build and run your first container
173
+ jetson-containers build pytorch
174
+ jetson-containers run $(autotag l4t-pytorch)
175
+ ```
176
+
177
+ ### Selective Component Configuration
178
+ ```bash
179
+ # Configure only Docker (skip other components)
180
+ jetson-cli configure docker
181
+
182
+ # Setup additional swap space
183
+ jetson-cli configure swap
184
+
185
+ # Configure external SSD storage
186
+ jetson-cli configure ssd
187
+ ```
188
+
189
+ ## Architecture
190
+
191
+ - **CLI Interface** (`jetson_cli/`): User-friendly Click-based commands
192
+ - **System Scripts** (`scripts/`): Low-level system configuration scripts
193
+ - **Container Framework** (`jetson-containers/`): Modular container build system
194
+ - **Package Ecosystem**: 100+ pre-built AI/ML container packages
195
+
196
+ ## Requirements
197
+
198
+ - NVIDIA Jetson device (Nano, Xavier, Orin series)
199
+ - JetPack 4.6+ or L4T R32.7+
200
+ - Python 3.6+
201
+ - Docker support
202
+
203
+ ## Contributing
204
+
205
+ 1. Fork the repository
206
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
207
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
208
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
209
+ 5. Open a Pull Request
210
+
211
+ ## License
212
+
213
+ This project is licensed under the MIT License - see the LICENSE file for details.
@@ -0,0 +1,164 @@
1
+ # jetson-cli
2
+
3
+ A comprehensive CLI tool for setting up NVIDIA Jetson devices and building containerized AI/ML applications using the jetson-containers framework.
4
+
5
+ ## Overview
6
+
7
+ jetson-cli provides a streamlined interface for:
8
+ - Analyzing and configuring Jetson hardware
9
+ - Setting up development environments
10
+ - Building and running containerized AI/ML applications
11
+ - Managing the jetson-containers ecosystem
12
+
13
+ ## Installation
14
+
15
+ ### From PyPI (Recommended)
16
+ ```bash
17
+ pip install jetson-cli
18
+ ```
19
+
20
+ ### From Source
21
+ ```bash
22
+ git clone https://github.com/orinachum/jetson-cli.git
23
+ cd jetson-cli
24
+ pip install -e .
25
+ ```
26
+
27
+ ## Quick Start
28
+
29
+ 1. **Analyze your system**:
30
+ ```bash
31
+ jetson-cli probe
32
+ ```
33
+
34
+ 2. **Initialize environment**:
35
+ ```bash
36
+ jetson-cli init
37
+ ```
38
+
39
+ 3. **Complete setup**:
40
+ ```bash
41
+ jetson-cli setup
42
+ ```
43
+
44
+ ## Commands
45
+
46
+ ### System Analysis
47
+ ```bash
48
+ jetson-cli probe # Show system configuration
49
+ jetson-cli probe --output json # Output as JSON
50
+ jetson-cli probe --save config.yaml # Save to file
51
+ ```
52
+
53
+ ### Environment Setup
54
+ ```bash
55
+ jetson-cli init # Create environment profile
56
+ jetson-cli init --profile-name dev # Custom profile name
57
+ jetson-cli init --force # Overwrite existing profile
58
+ ```
59
+
60
+ ### System Configuration
61
+ ```bash
62
+ jetson-cli setup # Complete system setup
63
+ jetson-cli setup --skip-docker # Skip Docker configuration
64
+ jetson-cli setup --interactive # Interactive mode
65
+ ```
66
+
67
+ ### Component Management
68
+ ```bash
69
+ jetson-cli configure docker # Configure Docker daemon
70
+ jetson-cli configure swap # Setup swap file
71
+ jetson-cli configure ssd # Configure SSD storage
72
+ jetson-cli configure power # Power management settings
73
+ jetson-cli configure gui # GUI environment setup
74
+ ```
75
+
76
+ ### Status Monitoring
77
+ ```bash
78
+ jetson-cli status # Show system status
79
+ jetson-cli status --format json # JSON output format
80
+ ```
81
+
82
+ ## jetson-containers Integration
83
+
84
+ This tool integrates with the [jetson-containers](https://github.com/dusty-nv/jetson-containers) framework to provide containerized AI/ML packages:
85
+
86
+ ### Container Building
87
+ ```bash
88
+ # After jetson-cli setup, use jetson-containers directly
89
+ jetson-containers build pytorch # Build PyTorch container
90
+ jetson-containers build pytorch jupyterlab # Chain multiple packages
91
+ jetson-containers build --name=my_app pytorch # Custom container name
92
+ ```
93
+
94
+ ### Available Packages
95
+ - **ML/AI**: PyTorch, TensorFlow, ONNX Runtime, transformers
96
+ - **LLM**: SGLang, vLLM, MLC, text-generation-webui, ollama
97
+ - **VLM**: LLaVA, VILA, NanoLLM (vision-language models)
98
+ - **Robotics**: ROS, Genesis, OpenVLA, LeRobot
99
+ - **Computer Vision**: NanoOWL, SAM, CLIP, DeepStream
100
+ - **Graphics**: Stable Diffusion, ComfyUI, NeRF Studio
101
+
102
+ ### Running Containers
103
+ ```bash
104
+ jetson-containers run $(autotag l4t-pytorch)
105
+ ```
106
+
107
+ ## Examples
108
+
109
+ ### Complete Jetson Setup Workflow
110
+ ```bash
111
+ # 1. Analyze hardware and software configuration
112
+ jetson-cli probe --save system-info.yaml
113
+
114
+ # 2. Create development environment profile
115
+ jetson-cli init --profile-name ml-dev
116
+
117
+ # 3. Configure the system for AI/ML development
118
+ jetson-cli setup
119
+
120
+ # 4. Verify everything is working
121
+ jetson-cli status
122
+
123
+ # 5. Build and run your first container
124
+ jetson-containers build pytorch
125
+ jetson-containers run $(autotag l4t-pytorch)
126
+ ```
127
+
128
+ ### Selective Component Configuration
129
+ ```bash
130
+ # Configure only Docker (skip other components)
131
+ jetson-cli configure docker
132
+
133
+ # Setup additional swap space
134
+ jetson-cli configure swap
135
+
136
+ # Configure external SSD storage
137
+ jetson-cli configure ssd
138
+ ```
139
+
140
+ ## Architecture
141
+
142
+ - **CLI Interface** (`jetson_cli/`): User-friendly Click-based commands
143
+ - **System Scripts** (`scripts/`): Low-level system configuration scripts
144
+ - **Container Framework** (`jetson-containers/`): Modular container build system
145
+ - **Package Ecosystem**: 100+ pre-built AI/ML container packages
146
+
147
+ ## Requirements
148
+
149
+ - NVIDIA Jetson device (Nano, Xavier, Orin series)
150
+ - JetPack 4.6+ or L4T R32.7+
151
+ - Python 3.6+
152
+ - Docker support
153
+
154
+ ## Contributing
155
+
156
+ 1. Fork the repository
157
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
158
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
159
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
160
+ 5. Open a Pull Request
161
+
162
+ ## License
163
+
164
+ This project is licensed under the MIT License - see the LICENSE file for details.
@@ -0,0 +1,148 @@
1
+ # Request: Jetson CLI Package Development
2
+
3
+ **Date**: 2025-07-26
4
+ **Status**: In Progress
5
+ **Priority**: High
6
+
7
+ ## Overview
8
+
9
+ Create a `jetson-cli` pip package that provides a command-line interface for NVIDIA Jetson setup and configuration, with automated GitHub pipelines for deployment and release management.
10
+
11
+ ## Requirements
12
+
13
+ ### Core CLI Commands
14
+
15
+ 1. **`jetson-cli probe`** - System probing and analysis
16
+ - Maps to: `scripts/probe-system.sh`
17
+ - Output formats: table, JSON, YAML
18
+ - Save results to file option
19
+
20
+ 2. **`jetson-cli init`** - Environment profile creation
21
+ - Maps to: `scripts/create-env-profile.sh`
22
+ - Custom profile naming
23
+ - Force recreate option
24
+
25
+ 3. **`jetson-cli setup`** - Complete system setup
26
+ - Maps to: `scripts/setup-system.sh`
27
+ - Interactive/non-interactive modes
28
+ - Skip individual components (docker, swap, ssd)
29
+
30
+ 4. **`jetson-cli configure <component>`** - Individual component configuration
31
+ - Components: docker, swap, ssd, power, gui
32
+ - Maps to respective `configure-*.sh` scripts
33
+
34
+ 5. **`jetson-cli status`** - System status overview
35
+ - Show current configuration state
36
+ - Multiple output formats
37
+
38
+ ### Package Structure
39
+
40
+ ```
41
+ jetson-cli/
42
+ ├── setup.py # Package configuration
43
+ ├── jetson_cli/
44
+ │ ├── __init__.py # Version and package info
45
+ │ ├── cli.py # Main CLI interface using Click
46
+ │ ├── utils.py # Utility functions
47
+ │ ├── scripts/ # Embedded scripts (if needed)
48
+ │ └── config/ # Configuration files
49
+ ├── tests/ # Unit tests
50
+ ├── docs/ # Documentation
51
+ └── .github/workflows/ # CI/CD pipelines
52
+ ```
53
+
54
+ ### GitHub Actions Pipelines
55
+
56
+ #### 1. CI Pipeline (`.github/workflows/ci.yml`)
57
+ - **Triggers**: Push to main/develop, Pull requests
58
+ - **Jobs**:
59
+ - Test across Python 3.8-3.12
60
+ - Code linting (flake8, black, isort)
61
+ - Shell script linting (shellcheck)
62
+ - Security scanning (bandit)
63
+ - CLI functionality testing
64
+
65
+ #### 2. Release Pipeline (`.github/workflows/release.yml`)
66
+ - **Triggers**: Push to main branch, Manual workflow dispatch
67
+ - **Features**:
68
+ - Automated version bumping (minor on merge to main)
69
+ - Smart version detection from commit messages
70
+ - PyPI package publishing
71
+ - GitHub release creation
72
+ - Release notes generation
73
+
74
+ #### 3. Installation Testing (`.github/workflows/test-install.yml`)
75
+ - **Triggers**: New releases
76
+ - **Tests**:
77
+ - PyPI installation across Python versions
78
+ - Docker-based installation testing
79
+ - CLI functionality verification
80
+
81
+ ### Version Management
82
+
83
+ - **Automatic Minor Bump**: On merge to main branch
84
+ - **Manual Version Control**: Workflow dispatch with patch/minor/major options
85
+ - **Semantic Versioning**: Based on commit message analysis
86
+ - **Release Assets**: Wheel files, release notes, changelog
87
+
88
+ ### Dependencies
89
+
90
+ - **Runtime**: click, pyyaml, tabulate, packaging, psutil, rich
91
+ - **Development**: pytest, flake8, black, isort, bump2version
92
+ - **CI/CD**: GitHub Actions, PyPI publishing, automated testing
93
+
94
+ ## Implementation Status
95
+
96
+ ### ✅ Completed
97
+ - [x] Package structure (`setup.py`, `__init__.py`)
98
+ - [x] CLI interface with Click framework
99
+ - [x] Core command implementations (probe, init, setup, configure, status)
100
+ - [x] Utility functions for script execution and platform detection
101
+ - [x] GitHub Actions CI pipeline
102
+ - [x] Automated release pipeline with version management
103
+ - [x] Installation testing workflow
104
+
105
+ ### 🔄 In Progress
106
+ - [ ] Integration with existing shell scripts
107
+ - [ ] Comprehensive testing suite
108
+ - [ ] Documentation and usage examples
109
+
110
+ ### ⏳ Pending
111
+ - [ ] PyPI account setup and API token configuration
112
+ - [ ] Repository secrets configuration (PYPI_API_TOKEN)
113
+ - [ ] Beta testing and feedback integration
114
+ - [ ] Production deployment
115
+
116
+ ## Technical Considerations
117
+
118
+ ### Platform Detection
119
+ - Jetson platform detection via device tree and hardware indicators
120
+ - Graceful fallback for non-Jetson environments
121
+ - Environment variable override for testing
122
+
123
+ ### Script Integration
124
+ - Scripts embedded in package or referenced from repository
125
+ - Proper error handling and user feedback
126
+ - Progress indicators for long-running operations
127
+
128
+ ### User Experience
129
+ - Rich CLI output with colors and progress bars
130
+ - Comprehensive help text and examples
131
+ - Consistent command patterns and options
132
+
133
+ ## Success Criteria
134
+
135
+ 1. **Functional**: All CLI commands work correctly on Jetson platforms
136
+ 2. **Installable**: `pip install jetson-cli` works globally
137
+ 3. **Automated**: Releases happen automatically on main branch merges
138
+ 4. **Tested**: Comprehensive test coverage and CI validation
139
+ 5. **Documented**: Clear usage instructions and API documentation
140
+
141
+ ## Next Steps
142
+
143
+ 1. Configure PyPI account and repository secrets
144
+ 2. Test the complete CI/CD pipeline
145
+ 3. Create comprehensive test suite
146
+ 4. Beta release for community feedback
147
+ 5. Documentation and tutorial creation
148
+ 6. Production release announcement