## 1. Project Overview & Quickstart (microsoft/aspire)

# Aspire

[](https://github.com/microsoft/aspire/actions/workflows/ci.yml)
[](https://github.com/microsoft/aspire/actions/workflows/tests.yml)
[](https://github.com/microsoft/aspire/labels/help%20wanted)
[](https://github.com/microsoft/aspire/labels/good%20first%20issue)
[](https://discord.gg/raNPcaaSj8)

## What is Aspire?

Aspire is a multi-language, code-first toolchain for building, running, and deploying distributed applications.

Describe how services, frontends, containers, databases, caches, and connections fit together in code. The Aspire CLI runs the whole app locally, exposes OpenTelemetry-based observability, and carries the same definition into deployment.

## A simple app definition

The same application definition can be written in different languages.

**C#** (`apphost.cs`)

```csharp
var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedis("cache");

var api = builder.AddNodeApp("api", "./api", "src/index.ts")
        .WithReference(cache)
        .WaitFor(cache)
        .WithHttpEndpoint(env: "PORT")
        .WithExternalHttpEndpoints();

builder.AddViteApp("frontend", "./frontend")
    .WithReference(api)
    .WaitFor(api);

builder.Build().Run();
```

**TypeScript** (`apphost.ts`)

```typescript
import { createBuilder } from './.aspire/modules/aspire.js';

const builder = await createBuilder();

const cache = await builder.addRedis("cache");

const api = await builder
    .addNodeApp("api", "./api", "src/index.ts")
    .withReference(cache)
    .waitFor(cache)
    .withHttpEndpoint({ env: "PORT" })
    .withExternalHttpEndpoints();

await builder
    .addViteApp("frontend", "./frontend")
    .withReference(api)
    .waitFor(api);

await builder.build().run();
```

## Getting started

### Install the Aspire CLI

To install the latest released version of the Aspire CLI:

On Windows:

```powershell
irm https://aspire.dev/install.ps1 | iex
```

On Linux or macOS:

```sh
curl -sSL https://aspire.dev/install.sh | bash
```

> [!NOTE]
> If you want to use the latest daily builds instead of the released version, follow the instructions in [docs/using-latest-daily.md](docs/using-latest-daily.md).

## Useful links

- [Documentation](https://aspire.dev/docs/)
- [Build your first app](https://aspire.dev/get-started/first-app/)
- [Build status](https://github.com/microsoft/aspire/actions/workflows/ci.yml)
- [Aspire samples repository](https://github.com/microsoft/aspire-samples)
- [Developer Control Plane (DCP)](https://github.com/microsoft/dcp)
- [Dogfooding pull requests](docs/dogfooding-pull-requests.md)

## What is in this repo?

This repo contains the Aspire CLI, AppHost SDK, dashboard, service discovery infrastructure, project templates, integrations, and VS Code Extension.

## Contributing

Follow [docs/contributing.md](docs/contributing.md) for working in the repository.

## Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) <secure@microsoft.com>. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the [Security TechCenter](https://www.microsoft.com/msrc/faqs-report-an-issue). You can also find these instructions in this repo's [Security doc](SECURITY.md).

### Note on containers used by Aspire resource and client integrations

The Aspire team cannot evaluate the underlying third-party containers for which it provides API support for suitability for specific customer requirements.

You should evaluate whichever containers you chose to compose and automate with Aspire to ensure they meet your, your employers or your government’s requirements on security and safety as well as cryptographic regulations and any other regulatory or corporate standards that may apply to your use of the container.

## License

The code in this repo is licensed under the [MIT](LICENSE.TXT) license.

## 2. Official Technical Reference & Guides (microsoft/microsoft.github.io)

[microsoft.github.io](https://microsoft.github.io)
===================

Many open source projects released by Microsoft products, services and teams also have
deployments powered by GitHub Pages on this domain.

To discover Microsoft-released open source projects, learn about Microsoft's open source
approach and other information, check us out online at [opensource.microsoft.com](https://opensource.microsoft.com).

If we can help answer questions about the open source program at Microsoft, you can
contact `opensource at microsoft com` - although we are not able to provide support
for projects through this mechanism.

## Microsoft GitHub resources

- Default repo templates including `SECURITY.MD` and code of conduct files: [microsoft/repo-templates](https://github.com/microsoft/repo-templates)
- [Code of Conduct](https://opensource.microsoft.com/codeofconduct) ([FAQ](https://opensource.microsoft.com/codeofconduct/faq/))

## Microsoft open source resources

- [Open Source Blog](https://cloudblogs.microsoft.com/opensource/)
- [The Open Source Show on Channel 9](https://channel9.msdn.com/Shows/The-Open-Source-Show)
- [https://opensource.microsoft.com/](https://opensource.microsoft.com/)

## Resources for Microsoft employees

- [docs.opensource.microsoft.com](https://docs.opensource.microsoft.com)
- [Link your GitHub Account and join GitHub organizations automatically](https://repos.opensource.microsoft.com)

## How to identify an official Microsoft organization on GitHub

- Official Microsoft GitHub orgs have a professional avatar and include a web address at Microsoft.com or an associated official domain
- Official Microsoft orgs are [Verified on GitHub](https://github.blog/changelog/2018-08-07-domain-verification/) - look for the domain verification indicator on GitHub