diff --git a/.fabro/project.toml.bak b/.fabro/project.toml.bak new file mode 100644 index 000000000..24f0d8384 --- /dev/null +++ b/.fabro/project.toml.bak @@ -0,0 +1,55 @@ +_version = 1 + +[run.pull_request] +enabled = true +draft = false + +[run.sandbox] +provider = "daytona" + +[run.sandbox.daytona] +auto_stop_interval = 30 + +[run.sandbox.daytona.labels] +repo = "fabro-sh/fabro" + +[run.sandbox.daytona.snapshot] +name = "fabro-v6" +cpu = 4 +memory = "8GB" +disk = "20GB" +dockerfile = """ +FROM ubuntu:24.04 + +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl git ca-certificates build-essential pkg-config libssl-dev unzip python3 \ + && rm -rf /var/lib/apt/lists/* + +# GitHub CLI +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \ + | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \ + | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ + && apt-get update && apt-get install -y --no-install-recommends gh \ + && rm -rf /var/lib/apt/lists/* + +# Rust +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +ENV PATH="/root/.cargo/bin:${PATH}" +RUN cargo install cargo-nextest --locked +ENV CARGO_INCREMENTAL=0 + +# Bun +RUN curl -fsSL https://bun.sh/install | bash +ENV PATH="/root/.bun/bin:${PATH}" + +WORKDIR /root +""" + +[[run.hooks]] +id = "cargo-fmt" +name = "cargo-fmt" +event = "post_tool_use" +matcher = "write_file|edit_file|apply_patch" +script = "cargo fmt" +blocking = true diff --git a/.fabro/workflows/hello/workflow.fabro b/.fabro/workflows/hello/workflow.fabro new file mode 100644 index 000000000..0adbffe45 --- /dev/null +++ b/.fabro/workflows/hello/workflow.fabro @@ -0,0 +1,11 @@ +digraph Hello { + graph [goal="Say hello and demonstrate a basic Fabro workflow"] + rankdir=LR + + start [shape=Mdiamond, label="Start"] + exit [shape=Msquare, label="Exit"] + + greet [label="Greet", prompt="Print a listing of the top-level files and directories in this repo."] + + start -> greet -> exit +} diff --git a/.fabro/workflows/hello/workflow.toml b/.fabro/workflows/hello/workflow.toml new file mode 100644 index 000000000..0c5e3d6b8 --- /dev/null +++ b/.fabro/workflows/hello/workflow.toml @@ -0,0 +1,7 @@ +_version = 1 + +[workflow] +graph = "workflow.fabro" + +[run.sandbox] +provider = "local"