# .NET Tooling

> Essential tooling for .NET development and CI/CD.

- **Type:** Skill
- **Install:** `agentstack add skill-ngxtm-devkit-tooling`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [ngxtm](https://agentstack.voostack.com/s/ngxtm)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [ngxtm](https://github.com/ngxtm)
- **Source:** https://github.com/ngxtm/devkit/tree/main/rules/dotnet/tooling

## Install

```sh
agentstack add skill-ngxtm-devkit-tooling
```

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

## About

# .NET Tooling

## **Priority: P1 (OPERATIONAL)**

Essential tooling for .NET development, testing, and CI/CD.

## Implementation Guidelines

- **Project Files**: SDK-style `.csproj`. Use `Directory.Build.props` for shared settings.
- **Central Package Management**: `Directory.Packages.props` for version consistency.
- **Testing**: xUnit or NUnit. FluentAssertions for readable assertions. Moq for mocking.
- **Code Analysis**: Enable built-in analyzers. Consider StyleCop, SonarQube.
- **Build**: `dotnet build`, `dotnet publish`. Use Release config for production.
- **EditorConfig**: Consistent code style across team.
- **CI/CD**: GitHub Actions, Azure DevOps, or GitLab CI.

## Anti-Patterns

- **No `packages.config`**: Migrate to `PackageReference`.
- **No skipping tests in CI**: Tests must pass before merge.
- **No ignoring warnings**: Fix or suppress with documented justification.
- **No floating versions**: Pin versions (`8.0.0`, not `8.*`).

## Code

```xml

  
    net8.0
    enable
    enable
    true
    latest-recommended
  

  
    true
  
  
    
    
    
  

```

```csharp
// xUnit test with FluentAssertions
public class UserServiceTests
{
    [Fact]
    public async Task GetUser_WithValidId_ReturnsUser()
    {
        // Arrange
        var mockRepo = new Mock();
        mockRepo.Setup(r => r.GetByIdAsync(1, default))
            .ReturnsAsync(new User { Id = 1, Name = "Test" });
        var sut = new UserService(mockRepo.Object);

        // Act
        var result = await sut.GetUserAsync(1);

        // Assert
        result.Should().NotBeNull();
        result!.Name.Should().Be("Test");
        mockRepo.Verify(r => r.GetByIdAsync(1, default), Times.Once);
    }
}
```

## Reference & Examples

For CI/CD configuration and Docker setup:
See [references/REFERENCE.md](references/REFERENCE.md).

## Related Topics

language | best-practices | security

## Source & license

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

- **Author:** [ngxtm](https://github.com/ngxtm)
- **Source:** [ngxtm/devkit](https://github.com/ngxtm/devkit)
- **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-ngxtm-devkit-tooling
- Seller: https://agentstack.voostack.com/s/ngxtm
- 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%.
