Rust project foundations

Structure that keeps up.

FerrisUp starts Rust projects from inspectable templates and helps them grow into clear Cargo workspaces. It gives developers and coding agents the same explicit package boundaries, framework choices, and build commands.

cargo install ferrisup

ferrisup new api --component-type server --framework axum --git
ferrisup preview --component-type server --framework axum
ferrisup transform --project ./my-project

Built for codebases, not demos

FerrisUp does not generate product logic or replace engineering judgment. It establishes a coherent starting structure that people and agents can extend using normal Rust tooling.

Repeatable foundations

Generate ordinary Rust files from bundled templates that remain visible, reviewable, and version-controlled.

A path to workspaces

Convert a single Cargo package into a workspace and add focused client, server, shared, edge, embedded, or data components.

Agent-readable structure

Make package boundaries and build expectations concrete so AI coding tools spend less time guessing how the repository is organized.

Current ecosystem choices

Start with maintained Rust editions and current framework lines while keeping every dependency in your own Cargo manifests.

Safer generation

Reject unsafe names and existing destinations instead of silently overwriting files or accepting path-like input.

Useful maintenance tools

Preview bundled templates and assist with components, workspaces, dependencies, configuration, and feature inspection.

Why this matters in an AI workflow

AI can write code quickly. FerrisUp addresses a different problem: making the repository shape explicit before that code accumulates. The result is less ambiguity, smaller architectural drift, and a baseline every contributor can inspect.

FerrisUp is a structural tool, not an AI framework. You keep the source, manifests, tests, and responsibility for the result.

A practical workflow

  1. Choose a component and framework explicitly.
  2. Generate and commit the baseline.
  3. Give the agent the manifests and acceptance criteria.
  4. Require formatting, linting, and tests.
  5. Review security and deployment decisions.