Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ jobs:
curl -L https://github.com/sass/dart-sass/releases/download/1.77.8/dart-sass-1.77.8-linux-x64.tar.gz | tar xz -C /usr/local/bin --strip-components=1 dart-sass
- name: Install wasm target
run: rustup target add wasm32-unknown-unknown
- name: Build builder binary first
run: cargo build -p builder
- name: Run tests
run: cargo test
build:
Expand Down
16 changes: 11 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,20 @@ This is a Rust workspace containing a command-line tool for building web assets,
- **Common utilities**: `crates/common/` - Shared utilities including file system operations and logging

The tool works by:
1. Reading a configuration file (builder.toml format)
2. Parsing it into a `BuilderCmd` structure containing multiple command types
1. Reading a YAML configuration file (builder.yaml format)
2. Parsing it into a `BuilderCmd` structure containing multiple command types using serde
3. Executing each command in sequence through their respective modules

## Development Commands

### Building and Testing
```bash
# Clean build workflow (build builder binary first, then everything else)
cargo build -p builder && cargo build

# Or for tests
cargo build -p builder && cargo nextest run

# Build the project
cargo build

Expand All @@ -47,9 +53,9 @@ cargo build -p builder
- **WASM target**: `rustup target add wasm32-unknown-unknown`

### Running the Tool
The builder binary expects a configuration file as its first argument:
The builder binary expects a YAML configuration file as its first argument:
```bash
./target/debug/builder path/to/builder.toml
./target/debug/builder path/to/builder.yaml
```

### Release Process
Expand All @@ -74,4 +80,4 @@ When adding new commands or modifying existing ones:
4. Update the match statements in both the enum implementation and main dispatcher
5. Create a corresponding crate in `crates/` for the actual implementation

The builder uses a custom serialization format rather than standard TOML/JSON to maintain a specific configuration file structure.
The builder uses YAML serialization via serde for configuration files, providing human-readable and standard format handling with automatic field serialization.
Loading
Loading