v2.0.2 - Latest Release

Developer CLI for
ABP Framework

Streamline your ABP development workflow with powerful commands for building, running, preparing, and managing your solutions. Built by developers, for developers.

Powerful Commands

Everything you need to accelerate your ABP development

Build

Build multiple solutions/projects in the current directory recursively. Uses dotnet build /graphBuild for efficient parallel builds.

Terminal
abpdev build C:\Projects -c Release

Run

Run all required applications including DbMigrator. Supports multiple solutions, watch mode, virtual environments, and install-libs.

Terminal
abpdev run -a --no-build -e sqlserver

Migrate

Run all .DbMigrator projects in folder recursively. Apply database migrations before running your applications.

Terminal
abpdev migrate -a --no-build

Logs

Open log files for your ABP projects. Automatically finds and opens Logs/logs.txt or the Logs folder.

Terminal
abpdev logs MyProject.HttpApi.Host

Replace

Run file replacement according to configuration. Supports interactive file selection and regex patterns.

Terminal
abpdev replace update-branding -i

Virtual Env

Create virtual environments and run applications on pre-built environments without changing files. Use with -e flag for isolation.

Terminal
abpdev run -e production

Local Sources

Manage local ABP Framework module sources. Add local packages as ProjectReference for custom module development.

Terminal
abpdev local-sources config

EnvApp

Manage environment apps like Redis, PostgreSQL required during development. Start/stop external services easily.

Terminal
abpdev envapp start redis

ABP Studio Switch

Switch between ABP Studio versions and channels. Download and install specific versions for testing compatibility.

Terminal
abpdev abp-studio switch 1.2.0

Real-World Use Cases

See how developers save time and boost productivity with AbpDevTools

Solo Developer Workflow

Automate repetitive tasks and focus on coding

Save 2+ hours daily

The Scenario

A solo developer working on multiple ABP microservices needs to build, migrate databases, and run 5 applications before starting development.

Before AbpDevTools
  • Manually open 5 separate terminal windows
  • Run dotnet build for each solution (15 min)
  • Run DbMigrator manually for each database (10 min)
  • Start applications one by one, wait for each (8 min)
  • Check logs by opening files in explorer (5 min)
  • Total: ~38 minutes every morning
With AbpDevTools
  • Single command: abpdev run -a
  • Automatically builds all solutions in parallel
  • Runs all DbMigrators automatically
  • Launches all applications simultaneously
  • Quick log access with abpdev logs
  • Total: ~3 minutes - 92% faster!

Related Commands

run build migrate logs

Team Collaboration

Ensure consistent environments across your team

Zero config conflicts

The Scenario

A team of 8 developers needs to maintain consistent database configurations and connection strings across different environments (development, staging, production).

Before AbpDevTools
  • Each developer maintains local appsettings.json
  • Connection strings hardcoded, frequently conflicting
  • "Works on my machine" issues waste 2+ hours/week
  • Manual database switching requires file edits
  • Environment-specific settings often committed accidentally
  • Impact: 10+ hours/week wasted on environment issues
With AbpDevTools
  • Virtual environments with abpdev env create
  • Shared environment configs via version control
  • Run with -e production for instant switching
  • Placeholder variables: {Today}, {AppName}
  • No local file changes required
  • Impact: Near-zero environment conflicts

Related Commands

env run envapp

CI/CD Pipeline Automation

Streamline build and deployment processes

50% faster builds

The Scenario

DevOps team needs to build multiple ABP solutions, run migrations, and deploy to staging environment on every commit to main branch.

Before AbpDevTools
  • Complex YAML with multiple build steps
  • Sequential builds: Solution A (8 min) → B (6 min) → C (10 min)
  • Custom migration scripts for each database
  • Manual environment variable configuration
  • Build failures difficult to debug
  • Total build time: 24+ minutes
With AbpDevTools
  • Single step: abpdev build ./src -c Release
  • Parallel graph builds reduce time by 50%
  • Built-in migration: abpdev migrate -a
  • Virtual environment for staging configs
  • Clean build artifacts with abpdev clean
  • Total build time: ~12 minutes

Related Commands

build migrate clean env

Multi-Project Management

Manage complex solutions with ease

Handle 10+ solutions

The Scenario

Developer manages 12 ABP microservices organized in separate solutions, needs to perform bulk operations like branding updates and module reference switching.

Before AbpDevTools
  • Find/replace across 12 solutions manually (45 min)
  • Edit .csproj files to switch module sources (1+ hour)
  • Build each solution to verify changes (20 min)
  • Track which projects use which modules manually
  • Error-prone process, often requires rework
  • Total: 2+ hours per bulk operation
With AbpDevTools
  • Bulk replace: abpdev replace update-branding
  • Switch module sources: abpdev local-sources config
  • Build all: abpdev build ./src -r
  • Interactive mode selects specific projects
  • Automatic verification and error reporting
  • Total: ~8 minutes - 93% faster!

Related Commands

replace local-sources build

Complete Development Environment in One Command

Zero manual infrastructure setup with `abpdev prepare`

Most essential tool

The Scenario

Developer joins a new ABP project or pulls latest changes. The project needs SQL Server, PostgreSQL, Redis, and RabbitMQ. Frontend includes Angular/React apps and Blazor WebAssembly projects. Everything must be configured and running before development can start.

Before AbpDevTools
  • Manually install/configure SQL Server, PostgreSQL, Redis, RabbitMQ locally (or Docker compose setup - 20+ min)
  • Update connection strings in appsettings.json for each service (10+ min)
  • Navigate to each Angular/React folder and run npm install (5+ min)
  • Run abp bundle for each Blazor project sequentially (5+ min)
  • Run DbMigrator for each database (3 min)
  • Build and verify everything works (5 min)
  • Total: ~45 minutes of manual setup
With AbpDevTools
  • Single command: abpdev prepare
  • Automatically detects project dependencies (databases, Redis, RabbitMQ, etc.)
  • Deploys dependency containers via Docker with pre-configured connection strings
  • Installs npm dependencies recursively for all projects
  • Runs abp bundle for all Blazor projects in parallel
  • Creates abpdev.yml with environment-specific configurations
  • Total: ~5 minutes - 89% faster!

Related Commands

prepare env run

See It In Action

Watch AbpDevTools streamline your development workflow

AbpDevTools Terminal

Ready to boost your productivity?

Try It Yourself

Installation & Getting Started

Get up and running with AbpDevTools in minutes

Prerequisites

.NET SDK 6.0 or higher

Download from dotnet.microsoft.com

Docker Desktop

Required for environment apps (SQL Server, Redis, etc.)

Terminal Access

PowerShell, bash, or your preferred terminal

Windows / macOS / Linux

dotnet tool install --global AbpDevTools

Specific .NET Runtime

Install for a specific .NET runtime (6.0, 7.0, 8.0, or 9.0)

dotnet tool install --global AbpDevTools --framework net8.0

Update Existing Installation

Update to the latest version

dotnet tool update --global AbpDevTools

Windows (PowerShell)

irm https://github.com/enisn/AbpDevTools/raw/develop/install.ps1 | iex

Linux / macOS (bash)

curl -sSL https://github.com/enisn/AbpDevTools/raw/develop/install.sh | bash

The GitHub script method installs directly from the source without requiring NuGet package access. Useful for air-gapped environments or testing the latest development version.

Clone and Build

git clone https://github.com/enisn/AbpDevTools.git
cd AbpDevTools
./pack.ps1
dotnet tool install --global --add-source ./nupkg AbpDevTools

Building from source allows you to modify the tool or install without internet access after the initial clone. The pack.ps1 script creates NuGet packages in the nupkg folder.

Verify Installation

After installation, verify that AbpDevTools is installed correctly:

abpdev --version

You should see the version number displayed. If you get a "command not found" error, ensure your PATH environment variable includes the .NET tools path.

Quick Start Tutorial

1

Prepare Your Project

Navigate to your ABP project directory and run the prepare command to set up your development environment:

abpdev prepare

This command detects your project dependencies, starts required Docker containers (SQL Server, Redis, etc.), installs ABP libraries, and creates configuration files.

2

Build Your Solutions

Build all solutions in your project directory:

abpdev build

Builds all solutions recursively using parallel graph builds for optimal performance.

3

Run Your Applications

Start all applications including DbMigrator:

abpdev run -a

The -a flag runs all applications without prompting. DbMigrator runs first, then all your applications start automatically.

4

View Logs

Access logs for any running application:

abpdev logs MyProject.Web

Automatically finds and opens the Logs folder for the specified project.

Troubleshooting

Command not found after installation?

Ensure the .NET tools directory is in your PATH. Add this to your shell profile:

  • Windows (PowerShell): $env:PATH += ";$env:USERPROFILE\.dotnet\tools"
  • Linux/macOS: export PATH="$PATH:$HOME/.dotnet/tools"

Docker containers not starting?

Verify Docker Desktop is running:

docker ps

If Docker is not running, start Docker Desktop and ensure you have sufficient resources allocated (4GB+ RAM recommended).

Permission denied on Linux/macOS?

Make the tool executable:

chmod +x ~/.dotnet/tools/abpdev

NuGet source access issues?

If you're behind a corporate firewall or proxy, configure NuGet sources:

dotnet nuget add source https://api.nuget.org/v3/index.json -n "nuget.org"

Or use the GitHub installation method which doesn't require NuGet access.

Database connection errors?

Check that environment apps are running and connection strings are correct:

abpdev envapp list

Use abpdev replace config to configure connection string replacements for different environments.

Build fails with dependency errors?

Run abpdev prepare to ensure all dependencies are installed. For module development, use abpdev references to-local to switch to local project references.

IDE Integration Setup

Visual Studio

Use the External Tools feature to run AbpDevTools commands from the IDE:

  1. Go to Tools → External Tools → Add
  2. Title: AbpDevTools Build
  3. Command: abpdev build
  4. Arguments: $(SolutionDir)
  5. Initial directory: $(SolutionDir)

Visual Studio Code

Add tasks to your .vscode/tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "abpdev: build",
      "type": "shell",
      "command": "abpdev build",
      "problemMatcher": []
    },
    {
      "label": "abpdev: run",
      "type": "shell",
      "command": "abpdev run -a",
      "problemMatcher": []
    }
  ]
}

Rider

Configure External Tools in Settings → Tools → External Tools:

  1. Create a new tool configuration
  2. Program: abpdev
  3. Arguments: build $SolutionFile$
  4. Working directory: $SolutionDir$

Ready to Supercharge Your ABP Development?

Join thousands of developers who save hours every week with AbpDevTools

Community & Support

Join thousands of developers building amazing things with AbpDevTools

Star Us on GitHub

Show your support by giving us a star. Help us grow the community and make AbpDevTools better for everyone!

Join the Discord

Connect with other developers, get help, and share your experiences in our active Discord community.

Join Discord Server

ABP Community Forums

Join the official ABP Framework forums to ask questions, share knowledge, and discuss best practices.

Visit Forums

Stack Overflow

Search for answers or ask questions about AbpDevTools on Stack Overflow with the abpdevtools tag.

View Questions

Contributing Guidelines

We welcome contributions from the community! Whether you want to fix a bug, add a feature, improve documentation, or report an issue, we appreciate your help.

1

Fork the Repository

Create your own fork of the AbpDevTools repository on GitHub.

2

Create a Branch

Create a new branch for your feature or bug fix: git checkout -b feature/my-feature

3

Make Your Changes

Implement your changes with clear commits and following the code style.

4

Submit a Pull Request

Push to your fork and create a pull request with a clear description.

Get in Touch

Have questions, suggestions, or need support? Reach out to the maintainer directly or through the community channels.

Frequently Asked Questions

Is AbpDevTools free to use?

Yes! AbpDevTools is completely free and open source under the MIT license. You can use it for personal and commercial projects without any restrictions.

What versions of .NET are supported?

AbpDevTools supports .NET 6.0, .NET 7.0, .NET 8.0, and .NET 9.0. You can install the tool for a specific runtime using the --framework parameter.

Can I use AbpDevTools with any ABP Framework version?

AbpDevTools works with ABP Framework versions 4.x and above. If you're using an older version, some features may not be available. We recommend updating to the latest ABP version for the best experience.

How do I report a bug or request a feature?

Please use the GitHub Issues page to report bugs or request features. Before creating a new issue, please search existing issues to avoid duplicates.

Does AbpDevTools work with Docker?

Yes! AbpDevTools includes the envapp command specifically for managing Docker containers like SQL Server, Redis, and PostgreSQL. The prepare command can automatically set up Docker-based development environments.

Can I contribute to AbpDevTools?

Absolutely! We welcome contributions from the community. Check out our Contributing Guidelines to get started. You can fix bugs, add features, improve documentation, or help other users.