smart_git_push
Automate secure git pushes with AI-driven credential detection, file filtering, and deployment tracking. Execute AI-run tests to validate changes and ensure compliance before deployment.
Instructions
AI-driven security-focused git push with credential detection, file filtering, and deployment metrics tracking. Tests should be run by calling AI and results provided.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
branch | No | Target branch for push (optional, uses current branch if not specified) | |
dryRun | No | Show what would be pushed without actually pushing | |
forceUnsafe | No | Override security blocks and test failures (DANGEROUS) | |
message | No | Commit message (optional, commits staged files if provided) | |
projectPath | No | Path to project directory (defaults to current working directory) | |
skipSecurity | No | Skip security scanning (NOT RECOMMENDED) | |
testResults | No | Test results from AI-executed tests (required for proper deployment tracking) |
Input Schema (JSON Schema)
{
"properties": {
"branch": {
"description": "Target branch for push (optional, uses current branch if not specified)",
"type": "string"
},
"dryRun": {
"default": false,
"description": "Show what would be pushed without actually pushing",
"type": "boolean"
},
"forceUnsafe": {
"default": false,
"description": "Override security blocks and test failures (DANGEROUS)",
"type": "boolean"
},
"message": {
"description": "Commit message (optional, commits staged files if provided)",
"type": "string"
},
"projectPath": {
"description": "Path to project directory (defaults to current working directory)",
"type": "string"
},
"skipSecurity": {
"default": false,
"description": "Skip security scanning (NOT RECOMMENDED)",
"type": "boolean"
},
"testResults": {
"description": "Test results from AI-executed tests (required for proper deployment tracking)",
"properties": {
"command": {
"description": "Test command that was executed by AI",
"type": "string"
},
"duration": {
"description": "Test execution duration in seconds",
"type": "number"
},
"failureDetails": {
"description": "Details of test failures",
"items": {
"type": "string"
},
"type": "array"
},
"output": {
"description": "Test execution output",
"type": "string"
},
"success": {
"description": "Whether all tests passed",
"type": "boolean"
},
"testTypes": {
"additionalProperties": {
"properties": {
"failed": {
"type": "number"
},
"passed": {
"type": "number"
}
},
"type": "object"
},
"description": "Results broken down by test type (unit, integration, etc.)",
"type": "object"
},
"testsFailed": {
"description": "Number of tests that failed",
"type": "number"
},
"testsPassed": {
"description": "Number of tests that passed",
"type": "number"
},
"testsRun": {
"description": "Total number of tests executed",
"type": "number"
}
},
"required": [
"success",
"testsRun",
"testsPassed",
"testsFailed"
],
"type": "object"
}
},
"type": "object"
}