kidney_core 2.4.1
kidney_core: ^2.4.1 copied to clipboard
Das Herzstück der Kidney Suite. Fungiert als Backend und CMD-Line Tool.
Kidney Core #
Kidney Core is the heart of the Kidney Suite. It provides both a backend service and a command line interface for managing workspaces, repositories, organizations, tickets, and dependencies of your projects.
Overview #
Kidney Core allows you to:
- Initialize and manage a master workspace.
- Add and remove repositories or entire organizations into or from the master workspace.
- Create and manage ticket workspaces under
./tickets/<ticket_id>. - List repositories, organizations, and dependencies of projects in the master workspace.
- Add pubspec dependencies to your workspace automatically.
Available Commands #
After installation, you can use the following commands:
-
kidney_core init- Initializes the master workspace in the project root.
-
kidney_core add <target> [-f|--force]- Adds a repository or all repositories from the specified organization into the master workspace.
- When run inside a ticket workspace (e.g.
./tickets/<id>), also copies the repository into that ticket folder. - Use
--force(-f) to re-clone even if the repository already exists in the master workspace.
-
kidney_core remove <target>- Deletes a repository or ticket folder.
- If
<target>corresponds to a ticket ID, deletes the entire ticket workspace under./tickets/<id>. - If
<target>is a repository name that exists only in the master workspace, removes it from the master workspace. - If the repository is used in feature branches (
kidney_ws_*), lists those branches and asks you to remove them first.
- If
- Deletes a repository or ticket folder.
-
kidney_core list [repos|organizations|deps <target>]repos: Lists all repositories in the master workspace, sorted by name.organizations: Lists all GitHub organizations represented by repositories in the master workspace.deps <target>: Listsdependenciesanddev_dependenciesof the given project in the master workspace.
-
kidney_core add-deps <target>- Iterates over all
dependenciesanddev_dependenciesspecified in the project'spubspec.yamland adds each dependency to the master workspace. - Automatically skips Dart SDK packages hosted under
dart-lang.
- Iterates over all
-
kidney_core create ticket <id> [-m|--message <description>]- Creates a ticket folder under
./tickets/<id>and writes a.ticketfile in JSON format with the issue ID and optional description.
- Creates a ticket folder under
Installation #
-
Clone the repository:
git clone https://github.com/ggsuite/kidney_core.git -
Navigate to the project directory:
cd kidney_core -
Install Kidney Core by running the installation script:
install.bat # or ./install
Running Tests #
Kidney Core is fully tested with nearly 100% coverage. To run the tests, use:
dart test
You can also generate a coverage report with:
dart run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info
Additional Information #
- The project is structured for modular development with clear separation between the CLI commands and backend logic.
- The codebase follows modern Dart best practices, including extensive testing and error handling.
- Contributions are welcome. Please ensure that new features are accompanied by relevant tests and updated documentation.
License #
Kidney Core is licensed under the terms specified in the LICENSE file.