Get in Touch
Have questions, suggestions, or need support? Reach out to the maintainer directly or through the community channels.
Streamline your ABP development workflow with powerful commands for building, running, preparing, and managing your solutions. Built by developers, for developers.
Everything you need to accelerate your ABP development
Build multiple solutions/projects in the current directory recursively. Uses dotnet build /graphBuild for efficient parallel builds.
abpdev build C:\Projects -c Release
Run all required applications including DbMigrator. Supports multiple solutions, watch mode, virtual environments, and install-libs.
abpdev run -a --no-build -e sqlserver
Run all .DbMigrator projects in folder recursively. Apply database migrations before running your applications.
abpdev migrate -a --no-build
Open log files for your ABP projects. Automatically finds and opens Logs/logs.txt or the Logs folder.
abpdev logs MyProject.HttpApi.Host
Run file replacement according to configuration. Supports interactive file selection and regex patterns.
abpdev replace update-branding -i
Create virtual environments and run applications on pre-built environments without changing files. Use with -e flag for isolation.
abpdev run -e production
Manage local ABP Framework module sources. Add local packages as ProjectReference for custom module development.
abpdev local-sources config
Manage environment apps like Redis, PostgreSQL required during development. Start/stop external services easily.
abpdev envapp start redis
Switch between ABP Studio versions and channels. Download and install specific versions for testing compatibility.
abpdev abp-studio switch 1.2.0
See how developers save time and boost productivity with AbpDevTools
Automate repetitive tasks and focus on coding
A solo developer working on multiple ABP microservices needs to build, migrate databases, and run 5 applications before starting development.
dotnet build for each solution (15 min)abpdev run -aabpdev logsEnsure consistent environments across your team
A team of 8 developers needs to maintain consistent database configurations and connection strings across different environments (development, staging, production).
abpdev env create-e production for instant switching{Today}, {AppName}Streamline build and deployment processes
DevOps team needs to build multiple ABP solutions, run migrations, and deploy to staging environment on every commit to main branch.
abpdev build ./src -c Releaseabpdev migrate -aabpdev cleanManage complex solutions with ease
Developer manages 12 ABP microservices organized in separate solutions, needs to perform bulk operations like branding updates and module reference switching.
abpdev replace update-brandingabpdev local-sources configabpdev build ./src -rZero manual infrastructure setup with `abpdev prepare`
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.
npm install (5+ min)abp bundle for each Blazor project sequentially (5+ min)abpdev prepareabp bundle for all Blazor projects in parallelabpdev.yml with environment-specific configurationsWatch AbpDevTools streamline your development workflow
Ready to boost your productivity?
Try It YourselfGet up and running with AbpDevTools in minutes
Download from dotnet.microsoft.com
Required for environment apps (SQL Server, Redis, etc.)
PowerShell, bash, or your preferred terminal
dotnet tool install --global AbpDevTools
Install for a specific .NET runtime (6.0, 7.0, 8.0, or 9.0)
dotnet tool install --global AbpDevTools --framework net8.0
Update to the latest version
dotnet tool update --global AbpDevTools
irm https://github.com/enisn/AbpDevTools/raw/develop/install.ps1 | iex
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.
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.
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.
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.
Build all solutions in your project directory:
abpdev build
Builds all solutions recursively using parallel graph builds for optimal performance.
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.
Access logs for any running application:
abpdev logs MyProject.Web
Automatically finds and opens the Logs folder for the specified project.
Ensure the .NET tools directory is in your PATH. Add this to your shell profile:
$env:PATH += ";$env:USERPROFILE\.dotnet\tools"export PATH="$PATH:$HOME/.dotnet/tools"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).
Make the tool executable:
chmod +x ~/.dotnet/tools/abpdev
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.
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.
Run abpdev prepare to ensure all dependencies are installed. For module development, use abpdev references to-local to switch to local project references.
Complete walkthrough of installation, configuration, and basic commands
15 minLearn parallel builds, interactive mode, and build optimization
DocumentationManage multiple environments and configurations effortlessly
DocumentationUse the External Tools feature to run AbpDevTools commands from the IDE:
AbpDevTools Buildabpdev build$(SolutionDir)$(SolutionDir)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": []
}
]
}
Configure External Tools in Settings → Tools → External Tools:
abpdevbuild $SolutionFile$$SolutionDir$Join thousands of developers building amazing things with AbpDevTools
Show your support by giving us a star. Help us grow the community and make AbpDevTools better for everyone!
Connect with other developers, get help, and share your experiences in our active Discord community.
Join Discord ServerJoin the official ABP Framework forums to ask questions, share knowledge, and discuss best practices.
Visit ForumsSearch for answers or ask questions about AbpDevTools on Stack Overflow with the abpdevtools tag.
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.
Create your own fork of the AbpDevTools repository on GitHub.
Create a new branch for your feature or bug fix: git checkout -b feature/my-feature
Implement your changes with clear commits and following the code style.
Push to your fork and create a pull request with a clear description.
Have questions, suggestions, or need support? Reach out to the maintainer directly or through the community channels.
Yes! AbpDevTools is completely free and open source under the MIT license. You can use it for personal and commercial projects without any restrictions.
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.
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.
Please use the GitHub Issues page to report bugs or request features. Before creating a new issue, please search existing issues to avoid duplicates.
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.
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.