acctl - AutoCore Control Tool
A command-line tool for managing AutoCore projects, control programs, and deployments.
Installation
From crates.io (when published)
From source
Quick Start
# 1. List available projects on a server
# 2. Clone a project to start working on it
# 3. Enter the project directory
# 4. Edit your control program
# (edit control/src/program.rs)
# 5. Build, deploy, and start
# 6. Watch the logs
Commands
clone
Clone a project from an AutoCore server into a new local directory.
# List available projects
# Clone the currently active project
# Clone a specific project by name
# Clone with a custom directory name
# Clone from a server on a different port
This creates a local directory with:
control/- Rust control program sourceproject.json- Project configurationwww/- Web interface files (if present)acctl.toml- Local configuration pointing to the server
The autocore-std library is pulled from crates.io automatically when you build.
set-target
Set or update the target server for the current directory.
# Set target server IP
# Set target with custom port
Configuration is saved to ./acctl.toml (local) or ~/.acctl.toml (global).
Local config takes precedence.
push
Push files to the server.
push control
Build and deploy the control program.
# Build, upload, and start the control program
# Build and upload without starting
# Upload without rebuilding (use existing binary)
# Upload the entire control source directory (instead of binary)
push project
Push project.json configuration changes.
# Push project.json
# Push and restart the server to apply changes
push www
Push web interface files.
# Push www/dist/ (production build)
# Push full www/ directory (including source)
pull
Download the current project from the server.
# Download as zip file
# Download and extract
status
Show server and control program status.
Example output:
Control Program Status:
Status: Running (PID: 12345)
Projects Directory: /srv/autocore/projects
Available Projects:
- my_project (valid)
- test_project (valid)
logs
View control program logs.
# Show recent logs
# Stream logs continuously (Ctrl+C to stop)
control
Manage the control program lifecycle.
# Start the control program
# Stop the control program
# Restart the control program
# Check status
codegen
Regenerate the gm.rs (global memory mappings) file from the server.
This downloads the latest generated code based on the project configuration.
switch
Switch the server to a different project.
# Switch to another project
# Switch and restart the server
Configuration
acctl looks for configuration in two places (in order of precedence):
./acctl.toml- Local project configuration~/.acctl.toml- Global user configuration
Configuration File Format
[]
= "192.168.1.100"
= 11969
[]
= true
Command-Line Overrides
You can override configuration on any command:
# Override host
# Override port
# Override both
Typical Workflows
Starting a New Project
# See what's available
# Clone the project you want to work on
# Start working
Development Cycle
# Edit control/src/program.rs
# Deploy and test
# Watch logs for issues
# Make changes, repeat
Deploying Web Interface Updates
# Build your web interface
# Deploy to server
Working with Multiple Servers
Each project directory can have its own acctl.toml pointing to a different server:
# Project A points to server 1
# [server]
# host = "192.168.1.100"
# Project B points to server 2
# [server]
# host = "192.168.1.101"
Updating Project Configuration
# Edit project.json locally
# Push changes and restart
Troubleshooting
Connection refused
- Verify the server is running:
systemctl status autocore_server - Check the IP address and port
- Ensure firewall allows connections on port 11969
Build failures
- Ensure Rust toolchain is installed:
rustup show - Check that the target architecture matches the server
- For cross-compilation, install the appropriate target:
Permission denied on server
- Check that the autocore_server has write permissions to the project directory
- Verify the control binary has execute permissions after upload
License
Proprietary - Licensed AutoCore Users Only
This software is licensed exclusively for use with validly licensed AutoCore Server installations. You may not use acctl to connect to or manage systems that are not licensed for AutoCore.
See the LICENSE file for complete terms.
For licensing inquiries: support@automateddesign.com