| Crates.io | symbi-dsl |
| lib.rs | symbi-dsl |
| version | 0.6.1 |
| created_at | 2025-11-17 01:14:19.514935+00 |
| updated_at | 2025-11-17 06:38:44.896829+00 |
| description | Symbi DSL - AI-native programming language with Tree-sitter integration |
| homepage | |
| repository | https://github.com/thirdkeyai/symbiont |
| max_upload_size | |
| id | 1936096 |
| size | 249,692 |
A secure, containerized development environment for the Symbi Domain-Specific Language (DSL) - an AI-native programming language built with Tree-sitter for precise AST-based code manipulation.
The Symbi DSL is designed for building autonomous, policy-aware agents that can safely collaborate with humans, other agents, and large language models while enforcing zero-trust security, data privacy, and provable behavior.
# Build the Docker image (from the repository root)
docker build -t symbi:latest .
# Verify the build
docker images | grep symbi
# Start an interactive development session
docker run -it --rm \
--name symbi-dev \
-v "$(pwd)":/workspace \
-w /workspace \
symbi:latest
# Alternative: Run with port forwarding for development servers
docker run -it --rm \
--name symbi-dev \
-v "$(pwd)":/workspace \
-w /workspace \
-p 3000:3000 -p 8000:8000 -p 8080:8080 \
symbi:latest
Inside the container:
# Navigate to the DSL project
cd crates/dsl
# Build the project
cargo build
# Run the DSL binary
cargo run
# Run tests
cargo test
# Run with release optimizations
cargo build --release
cargo run --release
# Use via the unified symbi CLI (from project root)
cd ../.. && cargo run -- dsl parse my_agent.dsl
The Docker environment provides a consistent, secure development experience:
# Start development container with volume mounting
docker run -it --rm \
--name symbi-dev \
-v "$(pwd)":/workspace \
-w /workspace/crates/dsl \
symbi:latest bash
# Inside the container, you have access to:
# - Rust toolchain (rustc, cargo, rustfmt, clippy)
# - Tree-sitter CLI
# - Development tools (cargo-watch, cargo-edit, cargo-audit)
# Watch for changes and rebuild automatically
cargo watch -x build
# Watch and run tests
cargo watch -x test
# Watch and run the application
cargo watch -x run
# Format code
cargo fmt
# Run linter
cargo clippy
# Security audit
cargo audit
# Check for outdated dependencies
cargo outdated
The Docker environment implements security best practices:
rustdev user (UID 1000)# Rust configuration
CARGO_HOME=/usr/local/cargo
RUSTUP_HOME=/usr/local/rustup
PATH=/usr/local/cargo/bin:$PATH
# Development optimizations
RUST_BACKTRACE=1
RUST_LOG=debug
crates/dsl/
├── Cargo.toml # Project configuration and dependencies
├── src/
│ ├── main.rs # Application entry point
│ ├── lib.rs # Library root
│ ├── parser/ # Tree-sitter integration
│ ├── ast/ # AST manipulation
│ ├── agent/ # Agent framework
│ └── policy/ # Policy engine
├── tests/ # Integration tests
├── benches/ # Performance benchmarks
└── examples/ # Usage examples
If you prefer local development:
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
# Install Tree-sitter CLI
npm install -g tree-sitter-cli
# Install development tools
cargo install cargo-watch cargo-edit cargo-audit
# Standard build
cargo build
# Release build with optimizations
cargo build --release
# Run tests
cargo test
# Generate documentation
cargo doc --open
The project is configured for optimal performance:
Permission Errors
# Ensure proper ownership
sudo chown -R $(id -u):$(id -g) target/
Out of Memory
# Increase Docker memory limit or use fewer parallel jobs
cargo build -j 2
Tree-sitter Compilation Issues
# Verify Tree-sitter CLI installation
tree-sitter --version
# Rebuild Tree-sitter parsers
cargo clean
cargo build
# Enable verbose logging
RUST_LOG=debug cargo run
# Enable backtraces
RUST_BACKTRACE=full cargo run
# Profile compilation
cargo build --timings
cargo auditclippyring cratecargo fmt)cargo clippy)This project is licensed under MIT OR Apache-2.0.
For issues and questions: