MCPcopy Index your code
hub / github.com/attunehq/hurry

github.com/attunehq/hurry @v0.4.8

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.4.8 ↗ · + Follow
1,448 symbols 4,399 edges 216 files 188 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

hurry!

Really, really fast builds.

Usage

The quickest way to get started with Hurry is to use our managed build cache. To start, you'll need to sign up for an account at hurry.build to get your HURRY_API_TOKEN. Then, run:

# Instead of `cargo build`:
$ HURRY_API_TOKEN=your_token_here hurry cargo build

Alternatively, you can self-host Hurry locally or on your own infrastructure.

Installation

Unix (macOS/Linux)

curl -sSfL https://hurry.build/install.sh | bash

You can configure certain installer options:

# Install to a specific directory (defaults to ~/.local/bin)
curl -sSfL https://hurry.build/install.sh | bash -s -- -b /usr/local/bin

# Install a specific version
curl -sSfL https://hurry.build/install.sh | bash -s -- -v 0.2.0

# Get help
curl -sSfL https://hurry.build/install.sh | bash -s -- -h

Windows

irm https://hurry.build/install.ps1 | iex

You can configure certain installer options:

# Install a specific version
$env:Version="0.2.0"; irm https://hurry.build/install.ps1 | iex

# Install to a custom directory (defaults to $env:LOCALAPPDATA\Programs\hurry)
$env:BinDir="C:\Tools"; irm https://hurry.build/install.ps1 | iex

# Show help
$env:Help="true"; irm https://hurry.build/install.ps1 | iex

Manual

Download the latest release for your platform from GitHub Releases, extract the archive, and place the hurry binary in your PATH.

How does it work?

Hurry works by examining the build plan generated by Cargo, seeing if any of the necessary artifacts are restorable from remote cache, and downloading them into your target folder if they're available. It then runs the build and uploads any missing artifacts to the remote cache.

Known limitations

Hurry is currently in alpha, and there are many rough edges. Some current known limitations include:

  • Limited, experimental support for cross-compilation.
  • No build acceleration support for cargo commands other than cargo build (e.g. cargo run, cargo test, cargo install).
  • No build acceleration support in Windows.
  • No build acceleration support for dependencies that are not public crates from crates.io.
  • No build acceleration support for first-party packages.
  • Limited, experimental support for build scripts that link against native libraries.
  • Hardcoded paths (e.g. in stack traces or panics) may use the path where the cached unit was compiled instead of the path where the unit is being built.

We are currently working on resolving all of these limitations. If any of them are a blocker for your team's adoption of Hurry, please reach out to us and we can help prioritize your rollout.

Supported platforms

Like Cargo, Hurry supports a wide range of platforms using a target tier policy. The supported platforms are:

Platform Architecture Target Triple
macOS x86_64 (Intel) x86_64-apple-darwin
macOS ARM64 (Apple Silicon) aarch64-apple-darwin
Linux x86_64 (glibc) x86_64-unknown-linux-gnu
Linux ARM64 (glibc) aarch64-unknown-linux-gnu
Linux x86_64 (musl) x86_64-unknown-linux-musl
Linux ARM64 (musl) aarch64-unknown-linux-musl
Windows x86_64 x86_64-pc-windows-gnu

Tier 1 support

Hurry provides Tier 1 support for 2 platforms:

  • aarch64-apple-darwin
  • x86_64-unknown-linux-gnu

These platforms have full support for build acceleration and distributed caching.

Tier 2 support

Hurry provides Tier 2 support for 3 platforms:

  • aarch64-unknown-linux-gnu
  • x86_64-unknown-linux-musl
  • aarch64-unknown-linux-musl

Platforms in Tier 2 have unstable support for build acceleration and distributed caching. We intend to support build acceleration on these platforms, and we have automate testing coverage over them, but we do not exercise their hot paths as extensively as Tier 1 platforms, so their support may be less stable.

Tier 3 support

Hurry provides Tier 3 support for 1 platform:

  • x86_64-pc-windows-gnu

Platforms in Tier 3 have automated testing and precompiled binaries, but their subcommands may not be accelerated. For example, hurry cargo build on Windows will directly pass through to cargo build, and does not implement any distributed caching.

The intent of Tier 3 platforms is to help your team migrate your build processes to hurry more easily. Even in platforms where hurry does not yet support build acceleration, you can still replace all instances of cargo build with hurry cargo build, and your build should still behave the same as before.

License

Hurry is licensed under the Apache 2.0 License.

Extension points exported contracts — how you extend this code

Validator (Interface)
Fallible methods on [`TypedPath`] variants are powered by instances of the `Validator` trait on the `Base` and `Type` ge [3 …
packages/hurry/src/path.rs
MessageIterExt (Interface)
(no doc) [1 implementers]
packages/e2e/src/ext.rs
LoginCardProps (Interface)
(no doc)
packages/dashboard/app/auth/LoginCard.tsx
TryJoinWith (Interface)
Creates and joins a path from the input. ## Fallibility This trait takes strings for path segments; this means we don' [2 …
packages/hurry/src/path.rs
ArtifactIterExt (Interface)
(no doc) [1 implementers]
packages/e2e/src/ext.rs
LocationState (Interface)
(no doc)
packages/dashboard/app/routes/auth.tsx
RelativeTo (Interface)
Functionality for making a path relative using a base path.
packages/hurry/src/path.rs
PageLayoutProps (Interface)
(no doc)
packages/dashboard/app/ui/shell/PageLayout.tsx

Core symbols most depended-on inside this repo

path
called by 247
packages/hurry/src/cross/config.rs
expose
called by 110
packages/courier/src/auth.rs
as_i64
called by 75
packages/courier/src/auth.rs
get
called by 72
packages/clients/src/courier/v1/cache.rs
as_std_path
called by 60
packages/hurry/src/path.rs
iter
called by 55
packages/hurry/src/cargo/rustc.rs
create_account
called by 53
packages/courier/src/db/account.rs
iter
called by 52
packages/clients/src/courier/v1/cache.rs

Shape

Function 718
Method 437
Class 206
Enum 78
Interface 9

Languages

Rust91%
TypeScript7%
Python2%

Modules by API surface

packages/hurry/tests/it/passthrough_functional.rs61 symbols
packages/hurry/src/cargo/rustc.rs55 symbols
packages/hurry/src/cargo/build_args.rs44 symbols
packages/hurry/src/path.rs43 symbols
packages/hurry/tests/it/passthrough.rs39 symbols
packages/courier/tests/it/api/v1/organizations.rs39 symbols
packages/hurry/src/fs.rs37 symbols
packages/clients/src/courier/v1.rs34 symbols
packages/hurry/src/cargo/build_script.rs31 symbols
packages/hurry/src/cargo/workspace.rs24 symbols
scripts/ci/timeline.py23 symbols
packages/hurry/src/cross/workspace.rs23 symbols

Datastores touched

courierDatabase · 1 repos

For agents

$ claude mcp add hurry \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact