PHPackages                             coquibot/coqui-toolkit-git - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. coquibot/coqui-toolkit-git

ActiveLibrary

coquibot/coqui-toolkit-git
==========================

Git repository management toolkit for Coqui — status, staging, commits, branches, tags, remotes, push/pull, merge, diff, log

v0.1.0(5d ago)01↓100%MITPHPPHP ^8.4CI passing

Since Mar 17Pushed 5d agoCompare

[ Source](https://github.com/carmelosantana/coqui-toolkit-git)[ Packagist](https://packagist.org/packages/coquibot/coqui-toolkit-git)[ RSS](/packages/coquibot-coqui-toolkit-git/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

Coqui Git Toolkit
=================

[](#coqui-git-toolkit)

Git repository management toolkit for [Coqui](https://github.com/AgentCoqui/coqui). Provides full Git CLI access — status, staging, commits, branches, tags, remotes, push/pull, merge, diff, and log — all sandboxed through typed tools with proper argument escaping.

Requirements
------------

[](#requirements)

- PHP 8.4+
- Git CLI installed and on PATH
- [Coqui](https://github.com/AgentCoqui/coqui) (auto-discovered via Composer)

Installation
------------

[](#installation)

```
composer require coquibot/coqui-toolkit-git
```

When installed alongside Coqui, the toolkit is **auto-discovered** via Composer's `extra.php-agents.toolkits` — no manual registration needed.

Tools Provided
--------------

[](#tools-provided)

### `git_init`

[](#git_init)

Initialize a new Git repository.

ParameterTypeRequiredDescription`path`stringNoDirectory to initialize (defaults to cwd)`branch`stringNoName for the initial branch### `git_status`

[](#git_status)

Show the working tree status — modified, staged, and untracked files.

ParameterTypeRequiredDescription`path`stringNoRepository path`short`boolNoUse short format output### `git_stage`

[](#git_stage)

Stage, unstage, or reset files in the Git index.

ParameterTypeRequiredDescription`action`enumYes`add`, `add_all`, or `reset``files`stringNoSpace-separated file paths (required for `add` and `reset`)`path`stringNoRepository path### `git_commit`

[](#git_commit)

Create a new commit with a message.

ParameterTypeRequiredDescription`message`stringYesCommit message`all`boolNoAuto-stage all modified tracked files (-a)`amend`boolNoAmend the previous commit`path`stringNoRepository path### `git_diff`

[](#git_diff)

Show differences between working tree, staged changes, or between commits.

ParameterTypeRequiredDescription`scope`enumYes`working`, `staged`, or `commits``ref1`stringNoFirst commit/branch ref (required for `commits`)`ref2`stringNoSecond ref (defaults to HEAD)`file`stringNoLimit diff to a specific file`stat_only`boolNoShow only diffstat summary`path`stringNoRepository path### `git_log`

[](#git_log)

View commit history with optional filters.

ParameterTypeRequiredDescription`count`intNoMax commits to show (default: 10, max: 100)`oneline`boolNoCompact one-line format`author`stringNoFilter by author`since`stringNoShow commits after this date`until`stringNoShow commits before this date`grep`stringNoFilter by commit message`file`stringNoShow only commits touching this file`ref`stringNoBranch or commit to start from`path`stringNoRepository path### `git_branch`

[](#git_branch)

Manage Git branches — list, create, delete, rename.

ParameterTypeRequiredDescription`action`enumYes`list`, `create`, `delete`, `rename`, or `current``name`stringNoBranch name (required for create/delete/rename)`new_name`stringNoNew name when renaming`from`stringNoStart point for new branch`force`boolNoForce delete (-D)`all`boolNoList remote-tracking branches too`path`stringNoRepository path### `git_checkout`

[](#git_checkout)

Switch branches, create+switch, or restore files.

ParameterTypeRequiredDescription`target`stringYesBranch, tag, or commit hash`create`boolNoCreate and switch (-b)`files`stringNoSpace-separated files to restore`path`stringNoRepository path### `git_tag`

[](#git_tag)

Manage Git tags — list, create, delete.

ParameterTypeRequiredDescription`action`enumYes`list`, `create`, or `delete``name`stringNoTag name (required for create/delete)`message`stringNoAnnotation message (creates annotated tag)`ref`stringNoCommit to tag (defaults to HEAD)`pattern`stringNoGlob filter for listing (e.g. "v1.\*")`path`stringNoRepository path### `git_remote`

[](#git_remote)

Manage Git remotes — list, add, remove, show.

ParameterTypeRequiredDescription`action`enumYes`list`, `add`, `remove`, or `show``name`stringNoRemote name (required for add/remove/show)`url`stringNoRemote URL (required for add)`path`stringNoRepository path### `git_push`

[](#git_push)

Push local commits to a remote repository.

ParameterTypeRequiredDescription`remote`stringNoRemote name (default: "origin")`branch`stringNoBranch to push (defaults to current)`force`boolNoForce push`tags`boolNoPush all tags`set_upstream`boolNoSet upstream tracking (-u)`path`stringNoRepository path### `git_pull`

[](#git_pull)

Fetch and integrate changes from a remote repository.

ParameterTypeRequiredDescription`remote`stringNoRemote name (default: "origin")`branch`stringNoRemote branch to pull`rebase`boolNoRebase instead of merge`path`stringNoRepository path### `git_merge`

[](#git_merge)

Merge a branch into the current branch.

ParameterTypeRequiredDescription`branch`stringNoBranch to merge (required unless aborting)`no_ff`boolNoCreate merge commit even if fast-forward possible`message`stringNoCustom merge commit message`abort`boolNoAbort an in-progress merge`path`stringNoRepository pathUsage Examples
--------------

[](#usage-examples)

### Feature Branch Workflow

[](#feature-branch-workflow)

```
git_branch(action: "create", name: "feature/new-api")
git_checkout(target: "feature/new-api")
# ... make changes ...
git_stage(action: "add_all")
git_commit(message: "feat: implement new API endpoint")
git_push(branch: "feature/new-api", set_upstream: true)

```

### Quick Commit

[](#quick-commit)

```
git_status(short: true)
git_diff(scope: "working")
git_stage(action: "add", files: "src/Handler.php src/Router.php")
git_commit(message: "fix: handle null response in router")

```

### Reviewing History

[](#reviewing-history)

```
git_log(count: 10, oneline: true)
git_diff(scope: "commits", ref1: "HEAD~5")
git_diff(scope: "commits", ref1: "main", ref2: "feature/x", stat_only: true)

```

### Tagging a Release

[](#tagging-a-release)

```
git_tag(action: "create", name: "v1.2.0", message: "Release 1.2.0")
git_push(tags: true)

```

Architecture
------------

[](#architecture)

```
src/
├── GitToolkit.php              # ToolkitInterface — registers all tools + guidelines
├── Runtime/
│   ├── GitRunner.php           # proc_open wrapper with timeout + output truncation
│   └── GitResult.php           # Typed result VO (exitCode, stdout, stderr)
└── Tool/
    ├── GitInitTool.php
    ├── GitStatusTool.php
    ├── GitStageTool.php
    ├── GitCommitTool.php
    ├── GitDiffTool.php
    ├── GitLogTool.php
    ├── GitBranchTool.php
    ├── GitCheckoutTool.php
    ├── GitTagTool.php
    ├── GitRemoteTool.php
    ├── GitPushTool.php
    ├── GitPullTool.php
    └── GitMergeTool.php

```

Development
-----------

[](#development)

```
# Install dependencies
composer install

# Run tests
composer test

# Static analysis
composer analyse
```

License
-------

[](#license)

MIT

###  Health Score

38

—

LowBetter than 86% of packages

Maintenance99

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

5d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/597820?v=4)[Carmelo Santana](/maintainers/carmelosantana)[@carmelosantana](https://github.com/carmelosantana)

---

Top Contributors

[![carmelosantana](https://avatars.githubusercontent.com/u/597820?v=4)](https://github.com/carmelosantana "carmelosantana (2 commits)")

---

Tags

gittoolkitphp-agentscoquiversion control

###  Code Quality

TestsPest

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/coquibot-coqui-toolkit-git/health.svg)

```
[![Health](https://phpackages.com/badges/coquibot-coqui-toolkit-git/health.svg)](https://phpackages.com/packages/coquibot-coqui-toolkit-git)
```

###  Alternatives

[salehhashemi/laravel-intelli-git

An intelligent Git helper package for Laravel applications. It utilizes OpenAI's GPT to analyze your Git repository, providing features such as automatic generation of commit messages based on staged changes.

131.2k](/packages/salehhashemi-laravel-intelli-git)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
