{"id":22408344,"url":"https://github.com/phmatray/mastercommander","last_synced_at":"2025-07-31T19:32:03.035Z","repository":{"id":220959779,"uuid":"750395068","full_name":"phmatray/MasterCommander","owner":"phmatray","description":"Use your favorite CLI tools without leaving your code editor","archived":false,"fork":false,"pushed_at":"2024-08-16T09:20:57.000Z","size":2451,"stargazers_count":4,"open_issues_count":21,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-02T19:51:35.044Z","etag":null,"topics":["beta","cli","developers","devops","docker","dotnet","git","library","npm","project-management","tool","utility","workflow-automation"],"latest_commit_sha":null,"homepage":"https://phmatray.github.io/MasterCommander/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phmatray.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"phmatray"}},"created_at":"2024-01-30T15:08:56.000Z","updated_at":"2024-07-20T16:02:53.000Z","dependencies_parsed_at":"2024-05-03T11:34:01.274Z","dependency_job_id":"fc2c62b3-4572-4db4-a0aa-77068d65d7d2","html_url":"https://github.com/phmatray/MasterCommander","commit_stats":null,"previous_names":["phmatray/mastercommander"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phmatray%2FMasterCommander","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phmatray%2FMasterCommander/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phmatray%2FMasterCommander/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phmatray%2FMasterCommander/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phmatray","download_url":"https://codeload.github.com/phmatray/MasterCommander/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228283720,"owners_count":17896267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beta","cli","developers","devops","docker","dotnet","git","library","npm","project-management","tool","utility","workflow-automation"],"created_at":"2024-12-05T11:17:20.303Z","updated_at":"2024-12-05T11:17:20.769Z","avatar_url":"https://github.com/phmatray.png","language":"C#","readme":"# MasterCommander\n\nWrite code, not commands. MasterCommander provides a simple, consistent interface for common development tasks.\n\n| ![Logo MasterCommander](https://raw.githubusercontent.com/phmatray/MasterCommander/main/logo.png) | MasterCommander is a versatile command-line utility designed to streamline the workflow for developers working with multiple technology stacks. By integrating common operations for Git, .NET, Docker, and npm into a single application, MasterCommander enhances productivity and simplifies project setup and management tasks. |\n|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n\n[![phmatray - MasterCommander](https://img.shields.io/static/v1?label=phmatray\u0026message=MasterCommander\u0026color=blue\u0026logo=github)](https://github.com/phmatray/MasterCommander \"Go to GitHub repo\")\n[![License: GPL-3.0-or-later](https://img.shields.io/badge/License-GPLv3.0--or--later-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)\n[![stars - MasterCommander](https://img.shields.io/github/stars/phmatray/MasterCommander?style=social)](https://github.com/phmatray/MasterCommander)\n[![forks - MasterCommander](https://img.shields.io/github/forks/phmatray/MasterCommander?style=social)](https://github.com/phmatray/MasterCommander)\n\n[![GitHub tag](https://img.shields.io/github/tag/phmatray/MasterCommander?include_prereleases=\u0026sort=semver\u0026color=blue)](https://github.com/phmatray/MasterCommander/releases/)\n[![issues - MasterCommander](https://img.shields.io/github/issues/phmatray/MasterCommander)](https://github.com/phmatray/MasterCommander/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/phmatray/MasterCommander)](https://github.com/phmatray/MasterCommander/pulls)\n[![GitHub contributors](https://img.shields.io/github/contributors/phmatray/MasterCommander)](https://github.com/phmatray/MasterCommander/graphs/contributors)\n[![GitHub last commit](https://img.shields.io/github/last-commit/phmatray/MasterCommander)](https://github.com/phmatray/MasterCommander/commits/master)\n\n[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers\u0026message=Open\u0026color=blue\u0026logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/phmatray/MasterCommander)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/bdd7b46c04534d8e958fda9dce1b0366)](https://app.codacy.com/gh/phmatray/MasterCommander/dashboard)\n[![codecov](https://codecov.io/gh/phmatray/MasterCommander/branch/main/graph/badge.svg?token=041C4QKW6O)](https://app.codecov.io/gh/phmatray/MasterCommander/tree/main)\n\n---\n\n## 📝 Table of Contents\n\n\u003c!-- TOC --\u003e\n* [MasterCommander](#mastercommander)\n  * [📝 Table of Contents](#-table-of-contents)\n  * [🏁 Getting started](#-getting-started)\n  * [📄 Documentation](#-documentation)\n    * [🌐 User Documentation](#-user-documentation)\n    * [📚 Technical Documentation](#-technical-documentation)\n      * [🌍 Contributing to Documentation](#-contributing-to-documentation)\n  * [📌 Features](#-features)\n    * [Current Features](#current-features)\n    * [Roadmap (next features)](#roadmap-next-features)\n  * [📥 Installation](#-installation)\n    * [📋 Prerequisites](#-prerequisites)\n      * [We use the latest C# features](#we-use-the-latest-c-features)\n    * [🚀 From Source](#-from-source)\n    * [📦 NuGet Packages](#-nuget-packages)\n  * [📊 Code Quality](#-code-quality)\n    * [🧪 Tests Specifications](#-tests-specifications)\n  * [🤝 Contributing](#-contributing)\n    * [How to contribute?](#how-to-contribute)\n    * [Contributors](#contributors)\n  * [❓ Issues and Feature Requests](#-issues-and-feature-requests)\n  * [✉️ Contact](#-contact)\n  * [📜 License](#-license)\n\u003c!-- TOC --\u003e\n\n---\n\n## 🏁 Getting started\n\nUse your favorite CLI tools without leaving your code editor:\n\nThis example demonstrates how to use MasterCommander to create a new .NET solution and project, initialize a Git\nrepository, and build and run the project.\nIn addition, this code adds a .gitignore file, an .editorconfig file, and a global.json file to the project.\n\n```csharp\nprivate const string SdkVersion = \"8.0.*\";\nprivate const string SolutionName = \"AppDemo\";\nprivate const string ConsoleProjectName = $\"{SolutionName}.Console\";\nprivate const string ConsoleProjectDirectory = $\"src/{ConsoleProjectName}\";\nprivate const string ConsoleCsproj = $\"{ConsoleProjectDirectory}/{ConsoleProjectName}.csproj\";\n\nawait git.InitAsync();\nawait git.StatusAsync();\nawait dotnet.NewAsync(new DotnetNewGitignoreOptions());\nawait dotnet.NewAsync(new DotnetNewEditorConfigOptions());\nawait dotnet.NewAsync(new DotnetNewNuGetConfigOptions());\nawait dotnet.NewAsync(new DotnetNewGlobalJsonOptions { SdkVersion = SdkVersion });\nawait dotnet.NewAsync(new DotnetNewSolutionOptions { OutputName = SolutionName });\nawait dotnet.NewAsync(new DotnetNewConsoleOptions { OutputName = ConsoleProjectName, OutputDirectory = ConsoleProjectDirectory });\nawait dotnet.SlnAddAsync(ConsoleCsproj);\nawait git.AddAsync(\"*\");\nawait dotnet.BuildAsync();\nawait dotnet.BuildAsync(new DotnetBuildOptions { Configuration = \"Release\" });\nawait dotnet.RunAsync(new DotnetRunOptions { Project = ConsoleCsproj, Configuration = \"Release\" });\n```\n\nYou can standardize your development workflow by using MasterCommander to perform common tasks across multiple projects\nand technology stacks.\n\nOutput from MasterCommander commands is displayed in a clean, readable format:\n\u003e ![MasterCommander Screenshot](https://raw.githubusercontent.com/phmatray/MasterCommander/main/assets/img/output-spectre.png)\n\n## 📄 Documentation\n\nExplore the extensive documentation to get started with **MasterCommander**, understand its capabilities, and integrate it into your projects effectively. Our documentation is split into two main sections to cater to different needs:\n\n### 🌐 User Documentation\n\nFor an overview of **MasterCommander**, including features, installation guides, and how to get started with using the library in your projects, visit our **[User Documentation](https://phmatray.github.io/MasterCommander/mastercommander.html)**. This section is designed to help both beginners and experienced users to quickly leverage the library's full potential.\n\n### 📚 Technical Documentation\n\nFor developers looking for in-depth technical details, our **[Technical Documentation](https://github.com/phmatray/MasterCommander/blob/main/docs/README.md)** provides comprehensive insights into the library's internal workings, API references, and code examples. This section is ideal for those who want to extend the library, contribute to its development, or simply understand its mechanisms at a deeper level.\n\n#### 🌍 Contributing to Documentation\n\nOur documentation is written in English to reach a broad audience. We welcome contributions from the community to expand our documentation, including translations into other languages. If you're interested in helping us make **MasterCommander** more accessible by translating the documentation or improving the existing content, please [open an issue](https://github.com/phmatray/MasterCommander/issues) on our GitHub repository to discuss your ideas.\n\n\u003e **Note:** The documentation for **MasterCommander** is generated automatically using the [Doraku/DefaultDocumentation](https://github.com/Doraku/DefaultDocumentation) tool whenever the project is built. This ensures that the documentation is always up-to-date with the latest codebase.\n\n## 📌 Features\n\n### Current Features\n\n* [x] **Unified Interface**: MasterCommander provides a single interface for interacting with multiple development\n  tools.\n* [x] **Simple Commands**: Execute common development tasks with simple, intuitive commands.\n* [x] **Cross-Platform**: MasterCommander is designed to work on Windows, macOS, and Linux.\n* [x] **Customizable**: Add new commands and features to MasterCommander to suit your workflow.\n\n### Roadmap (next features)\n\n* [ ] **WIP =\u003e** **.NET Projects**: Easily create new .NET solutions and projects.\n* [ ] **WIP =\u003e** **Git Integration**: Initialize new repositories, check status, and more with built-in Git commands.\n* [ ] **WIP =\u003e** **Docker Support**: Manage Docker containers and images through simple commands.\n* [ ] **WIP =\u003e** **npm Packages**: Handle npm packages and run npm scripts within your projects.\n* [ ] Comprehensive API documentation that is easy to understand\n* [ ] High-Level API for common use cases\n* [ ] More tests\n* [ ] More examples\n* [ ] More features\n\n## 📥 Installation\n\n### 📋 Prerequisites\n\nTo use MasterCommander, ensure you have the following installed on your system:\n\n* Git\n* .NET 8.0 (supported versions: 8.0.101 or later)\n* A C# IDE (Visual Studio, JetBrains Rider, etc.)\n* A C# compiler (dotnet CLI, etc.)\n* Docker (optional)\n* Node.js and npm (optional)\n\n#### We use the latest C# features\n\nThis library targets .NET 8.0 and uses the latest C# features. It is written in C# 12.0 and uses the new `init`\nproperties, `record` types, `switch` expressions, `using` declarations and more.\n\nI invite you to read the [C# 12.0 documentation](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-12) to\nlearn more about these features.\n\n### 🚀 From Source\n\nYou can also build MasterCommander from source. Follow these steps to get started:\n\n1. Clone the repository to your local machine.\n2. Navigate to the cloned directory and build the project using the .NET CLI: `dotnet build`.\n3. Run the application with `dotnet run` from within the source directory.\n4. Or... open the project in Visual Studio (or JetBrains Rider) and run the application from the IDE.\n\n### 📦 NuGet Packages\n\nTo install MasterCommander, you can use the NuGet package manager. Run the following command in your terminal:\n\n```shell\ndotnet add package MasterCommander\n```\n\n| Package Name    | NuGet Version Badge                                                                                            | NuGet Downloads Badge                                                                                           | Package Explorer                                       |\n|-----------------|----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|\n| MasterCommander | [![NuGet](https://img.shields.io/nuget/v/MasterCommander.svg)](https://www.nuget.org/packages/MasterCommander) | [![NuGet](https://img.shields.io/nuget/dt/MasterCommander.svg)](https://www.nuget.org/packages/MasterCommander) | [Explore](https://nuget.info/packages/MasterCommander) |\n\nThis table is automatically updated regularly the latest developments and releases.\n\n## 📊 Code Quality\n\nWe strive for the highest code quality in MasterCommander. To ensure this, we use the following tools:\n\n* StyleCop\n* .editorconfig\n\n### 🧪 Tests Specifications\n\nWe use xUnit and FluentAssertions to write and run tests for MasterCommander. This ensures that the library is reliable\nand performs as expected.\n\n## 🤝 Contributing\n\n### How to contribute?\n\nContributions to MasterCommander are welcome! Whether it's reporting bugs, discussing improvements, or submitting pull\nrequests, all contributions help make MasterCommander a better tool for developers.\n\nBefore submitting pull requests, please ensure you have discussed the proposed changes with the project maintainers.\n\nA great way to contribute to MasterCommander is to add new commands. If you have a command you'd like to see added to\nMasterCommander, please open an issue to discuss it.\n\n### Contributors\n\n[![Contributors](https://contrib.rocks/image?repo=phmatray/MasterCommander)](http://contrib.rocks)\n\n## ❓ Issues and Feature Requests\n\nFor reporting bugs or suggesting new features, kindly submit these as an issue to\nthe [MasterCommander Repository](https://github.com/phmatray/MasterCommander/issues). We value your contributions, but\nbefore submitting an issue, please ensure it is not a duplicate of an existing one.\n\n## ✉️ Contact\n\nYou can contact us by opening an issue on this repository.\n\n## 📜 License\n\nGNU General Public License v3.0 or later.\n","funding_links":["https://github.com/sponsors/phmatray"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphmatray%2Fmastercommander","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphmatray%2Fmastercommander","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphmatray%2Fmastercommander/lists"}