π§ Lucien CLI

A next-generation command-line shell with built-in security, advanced parsing, and intelligent command chaining.
Lucien CLI transforms your terminal experience with production-grade security controls, sophisticated operator handling, and cross-platform compatibility. Built for developers who need both power and protection.
β¨ Features
π§ Core Implementation
- Security Guard System: Post-parsing validation with strict/permissive modes
- Full Operator Support:
&&, ||, ;, |, & with precedence and short-circuiting
- Advanced Parser: Quote-aware parsing; treats operators inside quotes as literals
- Command Injection Protection: Whitelist-based validation + dangerous pattern detection
- Variable Expansion:
$VAR, ${VAR}, %VAR% cross-platform
- Tilde Expansion:
~ and ~/ for home directory shortcuts
π‘οΈ Security Features
:secure strict β blocks risky chained commands unless whitelisted
:secure permissive β normal shell behavior (default)
- Whitelisted builtins: echo, pwd, cd, ls, clear, home, etc.
π¨ Enhanced Builtins
home β go to platform-specific home dir
export β set environment variables
env β list environment variables
clear β ANSI screen clear
- Aliases, history, job control
π Production Features
--batch flag for non-interactive execution
- History persistence at
~/.lucien/history
- Cross-platform: Windows, macOS, Linux
- Graceful error handling for invalid commands
π Quick Start
Installation
Windows (PowerShell)
# Download latest release
Invoke-WebRequest -Uri "https://github.com/ArcSyn/LUCIEN_GO/releases/latest/download/lucien-windows-amd64.exe" -OutFile "lucien.exe"
# Move to PATH
Move-Item lucien.exe "$env:USERPROFILE\bin\lucien.exe"
macOS
# Using Homebrew (coming soon)
# brew install arcsyn/tap/lucien
# Or download directly
curl -L "https://github.com/ArcSyn/LUCIEN_GO/releases/latest/download/lucien-darwin-amd64" -o lucien
chmod +x lucien
sudo mv lucien /usr/local/bin/
Linux
curl -L "https://github.com/ArcSyn/LUCIEN_GO/releases/latest/download/lucien-linux-amd64" -o lucien
chmod +x lucien
sudo mv lucien /usr/local/bin/
Build from Source
git clone https://github.com/ArcSyn/LUCIEN_GO.git
cd LUCIEN_GO
go build -o lucien ./cmd/lucien
First Run
Start Lucien in interactive mode:
lucien
Or run commands in batch mode:
echo "pwd && echo 'Hello Lucien'" | lucien --batch
π― Usage Examples
Basic Commands
lucien> pwd
/home/user
lucien> echo "Welcome to Lucien"
Welcome to Lucien
lucien> home
/home/user
Operator Chaining
# Sequential execution
lucien> echo "step1" && echo "step2"
step1
step2
# Conditional execution
lucien> echo "success" || echo "backup"
success
# Command sequence
lucien> echo "first" ; echo "second"
first
second
Quoted Operators
lucien> echo "operators && inside quotes"
operators && inside quotes
Security Modes
# Check current security mode
lucien> :secure
Security mode: permissive
# Switch to strict mode
lucien> :secure strict
Security mode set to strict
Variables and Aliases
# Set and use variables
lucien> set TESTVAR=hello
lucien> echo $TESTVAR
hello
# Create and use aliases
lucien> alias ll='echo long listing'
lucien> ll
long listing
Batch Processing
# Process commands from file
cat commands.txt | lucien --batch
# Single command execution
echo "pwd" | lucien --batch
π Key Commands
| Command |
Description |
pwd |
Show current directory |
home |
Navigate to home directory |
clear |
Clear screen |
history |
Show command history |
jobs |
Show background jobs |
env |
List environment variables |
export VAR=value |
Set environment variable |
alias name='command' |
Create command alias |
:secure [strict|permissive] |
Toggle security mode |
βοΈ Configuration
Lucien stores configuration and data in:
- Linux/macOS:
~/.lucien/
- Windows:
%USERPROFILE%\.lucien\
Files:
history - Command history
config.toml - Configuration settings (future)
aliases - User-defined aliases (future)
π§ͺ Testing
Run the test suite:
go test ./...
# With coverage
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out
Run integration tests:
go test ./tests/...
π€ Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Quick start for contributors:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature)
- Make your changes
- Add tests for new functionality
- Ensure all tests pass (
go test ./...)
- Commit your changes (
git commit -m 'Add amazing feature')
- Push to the branch (
git push origin feature/amazing-feature)
- Open a Pull Request
π Documentation
π‘οΈ Security
Lucien CLI takes security seriously. If you discover a security vulnerability, please send an email to security@arcsyn.dev rather than opening a public issue.
π License
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β‘ by the ArcSyn team