Merge _configs/ into config/ for single configuration directory. Update all path references. Changes: - Move _configs/* to config/ - Update .gitignore for new patterns - No code references to _configs/ found Impact: -1 root directory (layout_conventions.md compliance)
syntaxis Scripts
Infrastructure and utility scripts for syntaxis project management.
Active Scripts
1. common/find-config.nu
Purpose: Configuration file discovery utility for syntaxis scripts and binaries.
Search Order:
.syntaxis/{filename}- syntaxis specific config.project/{filename}- Generic project config.coder/{filename}- Documentation/tracking config{filename}- Current directory fallback
Functions:
# Find config file (returns path or empty string)
let config = (find-config "workspace.toml")
# Find with default fallback
let config = (find-config-or "config.toml" "default.toml")
# Find database file
let db_path = (find-db-path "workspace.db")
Usage: Import in other scripts:
use scripts/common/find-config.nu [find-config, find-config-or, find-db-path]
Status: ✅ Active | Source: Adapted from Tools/scripts/common/find-config.nu
2. install-cli.nu
Purpose: Auto-discovery and installation of syntaxis binaries.
Features:
- Auto-discovery of all binaries in workspace (CLI, TUI, Dashboard, API)
- Install all binaries with one command
- Optional target directory cleanup (saves disk space)
- Installation status tracking
- Binary listing
Available Binaries:
workspace- Project management CLIsyntaxis-tui- Interactive terminal interfacesyntaxis-dashboard- Web UI (Leptos)syntaxis-api- REST API server (work-in-progress)
Usage:
# Install all binaries
nu scripts/install-cli.nu all
# Install all (keep build artifacts)
nu scripts/install-cli.nu all --keep-target
# Install specific binary
nu scripts/install-cli.nu workspace
# Check installation status
nu scripts/install-cli.nu status
# List available binaries
nu scripts/install-cli.nu list
# Show help
nu scripts/install-cli.nu help
Status: ✅ Active | Source: Adapted from Tools/scripts/cli_install.nu
3. manifest.nu
Purpose: Track installed binaries and configurations in syntaxis.
Features:
- Load/save manifest from
.syntaxis/manifest.toml - Register/unregister binary installations
- Enable/disable binaries
- Track configuration state
- Show installation summary
Functions:
# Load current manifest
let manifest = (load-manifest)
# Register a newly installed binary
register-binary "workspace" "0.1.0" "core/crates/syntaxis-cli"
# List all installed binaries
list-binaries
# Enable/disable binaries
enable-binary "workspace"
disable-binary "syntaxis-api"
# Show full manifest
show-manifest
Manifest File: .syntaxis/manifest.toml
- Tracks all installed binaries with timestamps
- Records enabled/disabled state
- Configuration tracking
Status: ✅ Active | Source: Adapted from Tools/scripts/manifest.nu
4. manifest.toml.template
Purpose: Template for installation manifest tracking.
Location: .syntaxis/manifest.toml (created by install-cli.nu)
Tracks:
- Binary installation timestamps
- Binary versions
- Configuration states
- Installation metadata
Status: ✅ Active | Auto-generated by: install-cli.nu and manifest.nu
Quick Command Reference
| Command | Purpose |
|---|---|
nu scripts/install-cli.nu all |
Install all binaries |
nu scripts/install-cli.nu status |
Show installation status |
nu scripts/install-cli.nu list |
List available binaries |
nu scripts/manifest.nu show-manifest |
Show full manifest |
nu scripts/manifest.nu list-binaries |
List installed binaries |
Installation Workflow
First-time Setup
# 1. Install all binaries
nu scripts/install-cli.nu all
# 2. Verify installation
nu scripts/install-cli.nu status
# 3. Check manifest
nu scripts/manifest.nu show-manifest
# 4. Use workspace CLI
workspace --help
syntaxis-tui
After Code Changes
# 1. Rebuild and reinstall
cargo build --release -p syntaxis-cli
cargo install --path core/crates/syntaxis-cli
# OR use install script to reinstall all:
nu scripts/install-cli.nu all --keep-target
Manifest Management
# View what's installed
nu scripts/manifest.nu show-manifest
# Enable/disable specific binaries
nu scripts/manifest.nu enable-binary "workspace"
nu scripts/manifest.nu disable-binary "syntaxis-api"
# List configurations
nu scripts/manifest.nu list-configs
Configuration Discovery
Scripts automatically find configuration files in this order:
.syntaxis/- syntaxis specific configs.project/- Generic project configs.coder/- Documentation tracking- Current directory - Fallback
Example usage in scripts:
use scripts/common/find-config.nu [find-config]
# Find config with fallback
let config_path = (find-config-or "workspace.toml" ".syntaxis/workspace.toml")
let config = (open $config_path)
Development Guidelines
Adding New Scripts
- Use NuShell (not Bash) - consistent with syntaxis standards
- Place in appropriate directory:
common/- Shared utility functions- Root
scripts/- Main executable scripts
- Include documentation with USAGE and EXAMPLES
- Use
find-configfor config discovery - Test before committing:
nu scripts/your-script.nu help
Example Script Template
#!/usr/bin/env nu
# Description: What this script does
#
# USAGE:
# nu scripts/my-script.nu [OPTIONS]
#
# EXAMPLES:
# nu scripts/my-script.nu help # Show help
# nu scripts/my-script.nu status # Check status
use scripts/common/find-config.nu [find-config]
def print_help [] {
print "Usage documentation..."
}
def main [action?: string] {
if ($action == null or $action == "help") {
print_help
return
}
# Implementation
}
File Structure
core/scripts/
├── README.md # This file
├── manifest.toml.template # Template for manifest tracking
├── install-cli.nu # Binary installer & discovery
├── manifest.nu # Manifest management utilities
└── common/
└── find-config.nu # Config file discovery
Related Documentation
- .claude/PROJECT_RULES.md - Architecture & standards
- .claude/DEVELOPMENT.md - Development workflow
- Justfile - Build automation
- MIGRATION_STATUS.md - Project migration tracking
Notes
- All scripts use NuShell for consistency with syntaxis standards
- Scripts automatically discover configs using standard paths
- Manifest tracking enables reproducible binary installations
- See
.claude/directory for development guidelines and standards