DevMaid 1.1.23

dotnet tool install --global DevMaid --version 1.1.23
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local DevMaid --version 1.1.23
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=DevMaid&version=1.1.23
                    
nuke :add-package DevMaid --version 1.1.23
                    

DevMaid

A powerful .NET CLI tool to automate common development tasks.

Description

DevMaid is a cross-platform command-line interface (CLI) built with .NET that helps developers automate repetitive development tasks. It provides commands for database operations, file management, AI tool installation (Claude Code, OpenCode), and Windows package management.

Note: This is a hobby project created for personal use. It may not follow all best practices or have comprehensive testing. Contributions and feedback are welcome, but please keep in mind this was built to solve the author's specific needs.

Problem It Solves

Developers often perform repetitive tasks that can be automated:

  • Converting database table schemas to C# classes
  • Combining multiple files into one
  • Installing and configuring AI development tools
  • Backing up and restoring Windows packages

DevMaid consolidates these tasks into a single, easy-to-use CLI tool.

Key Features

  • Database Backup: Backup PostgreSQL databases using pg_dump
  • Table Parser: Parse PostgreSQL database tables and generate C# property classes
  • File (Combine): Combine multiple files into one
  • Claude Code Integration: Install and configure Claude Code CLI
  • OpenCode Integration: Install and configure OpenCode CLI
  • Winget Manager: Backup and restore Windows package manager packages
  • Interactive TUI Mode: User-friendly terminal interface with navigation

Tech Stack

  • Framework: .NET 10
  • Language: C#
  • CLI Parsing: System.CommandLine
  • TUI: Terminal.Gui
  • Database: Npgsql (PostgreSQL)
  • Configuration: Microsoft.Extensions.Configuration

Installation

Prerequisites

  • .NET SDK 10 or later
  • Windows (required for Claude, OpenCode, and Winget commands)

Install as .NET Tool

dotnet tool install --global DevMaid

Or install from NuGet:

dotnet tool install -g DevMaid

Build from Source

git clone https://github.com/your-repo/DevMaid.git
cd DevMaid
dotnet restore
dotnet build

How to Run Locally

Run from Source

dotnet run -- --help

Run TUI Mode

devmaid tui

Basic Usage Examples

Database Backup

# Backup with default connection settings (from appsettings.json)
devmaid database backup mydb

# Backup with custom connection settings
devmaid database backup mydb --host localhost --port 5432 --username postgres --password mypassword

# Backup with custom output path
devmaid database backup mydb -o "C:\backups\mydb.backup"

# Backup with password prompt (password not provided in command line)
devmaid database backup mydb --host localhost --username postgres

Configuration File: Create an appsettings.json in %LocalAppData%\DevMaid\ to set default connection values:

{
  "Database": {
    "Host": "localhost",
    "Port": "5432",
    "Username": "postgres",
    "Password": ""
  }
}

Table Parser - Generate C# Class from Database Table

devmaid table-parser -d mydb -t users -u postgres -H localhost

Combine Files

devmaid file combine -i "C:\temp\*.sql" -o "C:\temp\result.sql"

Install Claude Code

devmaid claude install

Winget Backup

devmaid winget backup -o "C:\backup"

Winget Restore

devmaid winget restore -i "C:\backup\backup-winget.json"

Interactive TUI Mode

devmaid tui

Use arrow keys to navigate, Enter to select, Esc to exit.

Command List

Command Description
database backup Backup PostgreSQL database
table-parser Parse database table to C# class
file combine Combine multiple files into one
claude Claude Code integration
opencode OpenCode CLI integration
winget Windows package manager
tui Launch interactive TUI mode (Experimental)

Documentation

For more detailed information, see:

Contribution

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure all tests pass and code follows the project's coding standards.

License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‡ΊπŸ‡Έ English (default)
πŸ‡§πŸ‡· Portuguese: README.pt-BR.md

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.1.23 90 3/4/2026
1.1.22 83 3/3/2026
1.1.3 81 3/1/2026
1.1.2 77 3/1/2026
1.0.0 82 2/28/2026
1.0.0-g8a8075eb74 79 3/1/2026
0.0.14 1,311 8/21/2023
0.0.13 2,766 9/27/2019
0.0.12 1,104 9/26/2019
0.0.11 1,224 9/26/2019
0.0.10 1,145 9/25/2019
0.0.9 1,154 9/23/2019
0.0.8 1,118 9/23/2019
0.0.7 1,795 8/8/2019
0.0.6 1,807 8/8/2019
0.0.5 2,192 9/13/2018
0.0.4 2,218 9/13/2018
0.0.3 2,019 9/12/2018
0.0.2 1,901 9/11/2018