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)
231 lines
4.1 KiB
Markdown
231 lines
4.1 KiB
Markdown
# Syntaxis - Quick Start Guide
|
|
|
|
## Building
|
|
|
|
### Debug Build
|
|
```bash
|
|
just build
|
|
# or
|
|
cargo build
|
|
```
|
|
|
|
### Release Build
|
|
```bash
|
|
just build-release
|
|
# or
|
|
cargo build --release
|
|
```
|
|
|
|
## Running Tests
|
|
|
|
Run all tests:
|
|
```bash
|
|
just test-all
|
|
# or
|
|
cargo test --workspace
|
|
```
|
|
|
|
Run specific test:
|
|
```bash
|
|
cargo test --lib phase::tests::test_phase_manager_transition
|
|
```
|
|
|
|
## Using the CLI
|
|
|
|
You can run the CLI tool with:
|
|
|
|
```bash
|
|
just cli --help
|
|
```
|
|
|
|
Or directly:
|
|
```bash
|
|
cargo run -p syntaxis-cli -- --help
|
|
```
|
|
|
|
### Available Commands
|
|
|
|
```bash
|
|
# 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
|
|
```bash
|
|
just fmt
|
|
# or
|
|
cargo fmt --all
|
|
```
|
|
|
|
### Check for Issues
|
|
```bash
|
|
just check-all
|
|
# runs: cargo fmt && cargo clippy && cargo check
|
|
```
|
|
|
|
### Run Full Linter
|
|
```bash
|
|
just lint
|
|
# or
|
|
cargo clippy --all-targets
|
|
```
|
|
|
|
### View Documentation
|
|
```bash
|
|
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:
|
|
```rust
|
|
let mut manager = PhaseManager::new(ProjectPhase::Creation);
|
|
manager.transition_to(ProjectPhase::Devel, false)?;
|
|
```
|
|
|
|
### ToolConfig
|
|
Configuration for individual tools:
|
|
```rust
|
|
let mut tool = ToolConfig::new("tracking");
|
|
tool.enable();
|
|
tool.with_phases(vec![ProjectPhase::Devel, ProjectPhase::Review]);
|
|
```
|
|
|
|
### Checklist
|
|
Track progress within a phase:
|
|
```rust
|
|
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
|
|
```bash
|
|
cargo check --workspace
|
|
```
|
|
|
|
### Run all tests
|
|
```bash
|
|
cargo test --workspace --lib
|
|
```
|
|
|
|
### See all available recipes
|
|
```bash
|
|
just --list
|
|
```
|
|
|
|
### Watch code changes
|
|
```bash
|
|
cargo watch -x check
|
|
```
|
|
|
|
## Integration with Tools
|
|
|
|
Enable tools in configuration:
|
|
|
|
### Documentation Tools
|
|
```toml
|
|
[tools.docs]
|
|
enabled = true
|
|
phases = ["devel", "review", "publish"]
|
|
```
|
|
|
|
### Tracking Tools
|
|
```toml
|
|
[tools.tracking]
|
|
enabled = true
|
|
phases = ["devel", "update", "review"]
|
|
```
|
|
|
|
### Development System
|
|
```toml
|
|
[tools.dev_system]
|
|
enabled = true
|
|
phases = ["devel"]
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Build fails with "unresolved import"
|
|
Clean and rebuild:
|
|
```bash
|
|
cargo clean
|
|
cargo build
|
|
```
|
|
|
|
### Tests fail
|
|
Run with backtrace:
|
|
```bash
|
|
RUST_BACKTRACE=1 cargo test --lib
|
|
```
|
|
|
|
### Need to format code
|
|
```bash
|
|
cargo fmt --all
|
|
```
|
|
|
|
## Support
|
|
|
|
For issues or questions about:
|
|
- **Architecture**: See ARCHITECTURE.md
|
|
- **Development**: See README.md
|
|
- **Project guidelines**: See CLAUDE.md
|
|
|
|
---
|
|
|
|
**Happy developing!** 🚀
|