# Scaffolding Revit Projects

> >

- **Type:** Skill
- **Install:** `agentstack add skill-nice3point-revit-skills-scaffolding-revit-projects`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Nice3point](https://agentstack.voostack.com/s/nice3point)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Nice3point](https://github.com/Nice3point)
- **Source:** https://github.com/Nice3point/revit-skills/tree/main/plugins/revit-solution/skills/scaffolding-revit-projects

## Install

```sh
agentstack add skill-nice3point-revit-skills-scaffolding-revit-projects
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Scaffolding Revit Projects

The `Nice3point.Revit.Templates` package provides `dotnet new` templates for Revit add-ins, solutions, benchmarks, and tests, already wired to `Nice3point.Revit.Sdk`.
Choose the project topology before generating files.
Choosing the wrong project shape causes either a monolithic add-in or a modular add-in without a deployable host.
Open only the reference for the template being considered.

Two rules apply to every generated project:

1. **Template options define the project shape.** Generate a fresh project with the needed options instead of adding generated infrastructure by hand.
2. **A `Debug.RNN` or `Release.RNN` configuration targets one Revit year.** Replace `NN` with the final two digits of that year; for example, `Debug.R27` targets Revit 2027.

## When to use

- Starting a new Revit add-in, benchmark, or test project or solution.

## Choose the project shape

Match the required outcome to one reference and open only that reference.

- [references/revit-addin.md](references/revit-addin.md) — **Load when:** a small self-contained add-in needs one project that owns its manifest, entry point, UI, deployment, and debugging.
- [references/revit-addin-application.md](references/revit-addin-application.md) — **Load when:** creating the manifest-owning host for a modular add-in; use it with `revit-addin-module`.
- [references/revit-addin-module.md](references/revit-addin-module.md) — **Load when:** adding one modular feature, service, or WPF MVVM area to an application host.
- [references/revit-addin-solution.md](references/revit-addin-solution.md) — **Load when:** a repository needs a standard layout, ModularPipelines build, MSI installer, App Store bundle, tests, or CI.
- [references/revit-benchmark.md](references/revit-benchmark.md) — **Load when:** measuring Revit API code with BenchmarkDotNet inside Revit.
- [references/revit-tunit.md](references/revit-tunit.md) — **Load when:** creating a TUnit test project that runs inside Revit.

## Workflow

### Step 1: Install the templates

```shell
dotnet new install Nice3point.Revit.Templates
```

### Step 2: Select the template and its options

Use `revit-addin` for a small self-contained add-in.
Use `revit-addin-application` and one or more `revit-addin-module` projects together for a modular add-in.
The application owns the `.addin` manifest, Revit entry point, ribbon registration, deployment, and debugging.
Modules own feature or UI code and are referenced by the application.
Create `revit-addin-sln` first when the repository also needs solution-level build or distribution infrastructure.

### Step 3: Generate the project or solution

```shell
dotnet new revit-addin --name MyAddin
```

Pass only the options that change the default shape.
For example, create a solution with an App Store bundle and tests:

```shell
dotnet new revit-addin-sln --name MyAddin --bundle --includeTests
```

For a modular solution, create the host and a module under `source`, then add the module reference to the host:

```shell
dotnet new revit-addin-application --name MyAddin
dotnet new revit-addin-module --name MyFeature
dotnet add MyAddin/MyAddin.csproj reference MyFeature/MyFeature.csproj
```

### Step 4: Initialize the solution repository

For a solution, create add-in projects under `source` and make an initial Git commit before running its build.
GitVersion needs repository history.

```shell
git init
git add .
git commit -m "Initial commit"
```

### Step 5: Verify

Restore and build a declared `Debug.RNN` configuration.
For a solution, run its ModularPipelines build from `build`.

```shell
dotnet build  --configuration Debug.RNN
cd build
dotnet run
```

## Validation

- [ ] The templates are installed via `dotnet new install Nice3point.Revit.Templates`.
- [ ] The chosen template and options match the intended topology and output.
- [ ] A modular add-in has an application host, modules referenced from that host, and entry points in the host.
- [ ] A solution has an initial Git commit before its build runs.
- [ ] The generated project builds for one declared `Debug.RNN` or `Release.RNN` configuration.

## Common Pitfalls

| Pitfall | Correct approach |
|---|---|
| Treating an application template as a complete modular add-in | Create it with one or more modules, then add project references from the application to modules. |
| Putting commands or ribbon registration in a module | Keep Revit entry points in the application project. |
| Guessing a template option | Open the reference for that template and use its documented CLI option. |
| Building a scaffolded solution before committing | Commit first; GitVersion needs history. |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Nice3point](https://github.com/Nice3point)
- **Source:** [Nice3point/revit-skills](https://github.com/Nice3point/revit-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-nice3point-revit-skills-scaffolding-revit-projects
- Seller: https://agentstack.voostack.com/s/nice3point
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
