syntaxis/docs/core/quickstart.md
Jesús Pérez 9cef9b8d57 refactor: consolidate configuration directories
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)
2025-12-26 18:36:23 +00:00

4.1 KiB

Syntaxis - Quick Start Guide

Building

Debug Build

just build
# or
cargo build

Release Build

just build-release
# or
cargo build --release

Running Tests

Run all tests:

just test-all
# or
cargo test --workspace

Run specific test:

cargo test --lib phase::tests::test_phase_manager_transition

Using the CLI

You can run the CLI tool with:

just cli --help

Or directly:

cargo run -p syntaxis-cli -- --help

Available Commands

# Initialize a project
cargo run -p syntaxis-cli -- init my-project --type rust-web

# Show current phase
cargo run -p syntaxis-cli -- phase current

# Transition to new phase
cargo run -p syntaxis-cli -- phase transition devel

# Show project status
cargo run -p syntaxis-cli -- status

Development Workflow

Format Code

just fmt
# or
cargo fmt --all

Check for Issues

just check-all
# runs: cargo fmt && cargo clippy && cargo check

Run Full Linter

just lint
# or
cargo clippy --all-targets

View Documentation

just doc
# Opens generated Rust documentation in browser

Project Structure

crates/
├── syntaxis-core/       # Core library with domain types
│   └── src/
│       ├── lib.rs
│       ├── error.rs          # Error handling
│       ├── types.rs          # Core types (ProjectPhase, ToolConfig, etc)
│       ├── phase.rs          # Phase manager
│       ├── tools.rs          # Tool manager
│       ├── config.rs         # Configuration
│       ├── checklist.rs      # Checklist system
│       ├── templates.rs      # Template engine
│       ├── provisioning.rs   # Provisioning integration
│       └── publication.rs    # Publication management
│
├── syntaxis-cli/        # Command-line interface
│   └── src/main.rs      # CLI entry point
│
├── syntaxis-tui/        # TUI dashboard
│   └── src/main.rs      # Dashboard entry point
│
└── syntaxis-vapora/     # VAPORA integration
    └── src/lib.rs

Core Concepts

ProjectPhase

An enumeration representing the syntaxis phase:

  • Creation - Project setup
  • Devel - Active development
  • Update - Enhancement phase
  • Review - Quality review
  • Status - Health monitoring
  • Publish - Release phase
  • Archive - Deprecated
  • Mvp - Minimum viable product
  • Prototype - Prototype mode

PhaseManager

Manages phase transitions:

let mut manager = PhaseManager::new(ProjectPhase::Creation);
manager.transition_to(ProjectPhase::Devel, false)?;

ToolConfig

Configuration for individual tools:

let mut tool = ToolConfig::new("tracking");
tool.enable();
tool.with_phases(vec![ProjectPhase::Devel, ProjectPhase::Review]);

Checklist

Track progress within a phase:

let mut checklist = Checklist::new(ProjectPhase::Devel);
checklist.add_item(ChecklistItem::new("setup-ci", "Set up CI/CD"));
checklist.mark_item_complete("setup-ci")?;

Common Tasks

Check if code compiles

cargo check --workspace

Run all tests

cargo test --workspace --lib

See all available recipes

just --list

Watch code changes

cargo watch -x check

Integration with Tools

Enable tools in configuration:

Documentation Tools

[tools.docs]
enabled = true
phases = ["devel", "review", "publish"]

Tracking Tools

[tools.tracking]
enabled = true
phases = ["devel", "update", "review"]

Development System

[tools.dev_system]
enabled = true
phases = ["devel"]

Troubleshooting

Build fails with "unresolved import"

Clean and rebuild:

cargo clean
cargo build

Tests fail

Run with backtrace:

RUST_BACKTRACE=1 cargo test --lib

Need to format code

cargo fmt --all

Support

For issues or questions about:

  • Architecture: See ARCHITECTURE.md
  • Development: See README.md
  • Project guidelines: See CLAUDE.md

Happy developing! 🚀