# Pulse > Pulse is a build intelligence platform for Gradle (and Xcode), hosted at https://pulse.premex.se. It collects build data — task execution, test results, cache stats, git info — and provides a web dashboard for viewing build scans, managing organizations/projects/API tokens, and tracking team build performance over time. This file is the concatenated plain-markdown content of the Pulse marketing site and documentation, intended for indexing by LLM-facing tools such as Context7. The canonical source for each section is the corresponding page on https://pulse.premex.se — refer there for the latest version. --- ## Landing page (`/`) ### Build intelligence for Gradle. Without the enterprise price tag. Pulse gives your team build scans, remote build cache, and actionable analytics. You only pay for the infrastructure you actually use. ### Everything you need. Nothing you don't. A Gradle plugin and a web dashboard. That's it. No agents, no complex infrastructure, no sales calls. - **Build Scans** — Every build captured automatically. See task breakdowns, test results, cache hit rates, git info, and environment details at a glance. - **Remote Build Cache** — Share build outputs across your team. Backed by cloud storage with Gradle's native HTTP build cache protocol. Faster CI, faster local builds. - **Team Analytics** — Track build durations, success rates, and cache effectiveness over time. Spot regressions before they slow your team down. ### Up and running in 5 minutes 1. **Apply the Gradle plugin** in your root `build.gradle.kts`: ```kotlin plugins { id("dev.premex.pulse") version "" } pulse { serverUrl.set("https://pulse.premex.se") organization.set("my-team") apiToken.set(providers.environmentVariable("PULSE_API_TOKEN")) } ``` The latest version is fetched live from `https://artifacts.premex.se/api/maven/premex/pulse/dev/premex/pulse/pulse-gradle-plugin/maven-metadata.xml`. 2. **Run your build**: ``` ./gradlew build --build-cache ``` 3. **See your build scan instantly.** Build data flows to your dashboard automatically. Task timings, test results, cache stats, git info — all there. ### Install the Pulse CLI Authenticate, set up projects, upload Xcode build scans, and browse your builds — all from the terminal. - **macOS, Linux, WSL**: `curl -fsSL https://pulse.premex.se/install.sh | bash` - **Windows PowerShell**: `irm https://pulse.premex.se/install.ps1 | iex` - **Windows CMD**: `curl -fsSL https://pulse.premex.se/install.cmd -o install.cmd && install.cmd && del install.cmd` Full CLI documentation: https://pulse.premex.se/docs/cli ### Pay only for what you use No per-seat licensing. No annual contracts. Your costs scale with your actual usage — most teams pay just a few dollars a month. Starts at $0. --- ## CLI documentation (`/docs/cli`) Authenticate, set up projects, upload Xcode build scans, and browse builds from the terminal. ### Installation **macOS, Linux, WSL** ``` curl -fsSL https://pulse.premex.se/install.sh | bash ``` **Windows PowerShell** ``` irm https://pulse.premex.se/install.ps1 | iex ``` **Windows CMD** ``` curl -fsSL https://pulse.premex.se/install.cmd -o install.cmd && install.cmd && del install.cmd ``` **Install a specific version** ``` PULSE_VERSION=0.1.2 curl -fsSL https://pulse.premex.se/install.sh | bash ``` On Windows PowerShell, set `$env:PULSE_VERSION = "0.1.2"` before running the install script. **Verify the installation** ``` pulse --version ``` ### Authentication Log in with your Pulse account. This opens your browser for secure authentication and saves your credentials locally. ``` pulse login ``` Credentials are stored at `~/.pulse/config.json`. ### Project setup Run `pulse init` in your project root to automatically configure Pulse. It detects your build system and applies the appropriate setup. ``` pulse init ``` - **Gradle projects** — Adds the Pulse plugin repository to `settings.gradle.kts`, applies the plugin in `build.gradle.kts`, and optionally configures the remote build cache. The latest plugin version is fetched automatically. - **Xcode projects** — Prints instructions for adding a post-build action to your Xcode scheme, or the `pulse upload` command for CI. ### Uploading Xcode build scans After an Xcode build or test run, upload the `.xcresult` bundle to collect build data. ``` pulse upload path/to/Result.xcresult ``` The CLI parses build results, test outcomes, and environment info from the xcresult bundle and sends them to Pulse. **CI example** ``` xcodebuild test \ -scheme MyApp \ -resultBundlePath result.xcresult pulse upload result.xcresult ``` ### Browsing build scans List recent build scans with links to the web dashboard. ``` pulse scans list ``` **Options** | Flag | Description | | --- | --- | | `--limit N` | Number of scans to show (default: 10) | | `--project NAME` | Filter by project name | | `--organization SLUG` | Override saved organization | ### Configuration The CLI stores its configuration at `~/.pulse/config.json` after you run `pulse login`. ```json { "organization": "my-team", "apiToken": "plst_..." } ``` **Environment variables** | Name | Description | | --- | --- | | `PULSE_API_TOKEN` | Override the saved API token | | `PULSE_SERVER_URL` | Override the server URL (for local development) | | `PULSE_VERSION` | Pin a specific version during install | --- ## Conventions - Plugin/CLI package: `dev.premex.pulse` - API tokens are prefixed `plst_`. - The Gradle plugin targets JVM 17 for broad Gradle compatibility and applies only to the root project (it registers a shared `BuildService`). - Plugin artifacts are published to `https://artifacts.premex.se/api/maven/premex/pulse/`. --- ## Links - Hosted instance: https://pulse.premex.se - Maven artifacts: https://artifacts.premex.se/api/maven/premex/pulse/