git-tweezers
Version:
Advanced git staging tool with hunk and line-level control
250 lines • 7.54 kB
JSON
{
"commands": {
"hunk": {
"aliases": [],
"args": {
"selectors": {
"description": "File and hunk selectors (e.g., file.ts:1 or file.ts 1)",
"name": "selectors",
"required": true
}
},
"description": "Stage specific hunks from a file by their numbers",
"examples": [
"<%= config.bin %> <%= command.id %> src/index.ts 2",
"<%= config.bin %> <%= command.id %> src/index.ts:2 # Alternative syntax",
"<%= config.bin %> <%= command.id %> -p src/index.ts 1 # Use precise mode",
"<%= config.bin %> <%= command.id %> src/index.ts 1,3,5 # Stage multiple hunks",
"<%= config.bin %> <%= command.id %> src/file1.ts:1 src/file2.ts:3 # Multiple files"
],
"flags": {
"precise": {
"char": "p",
"description": "Use precise mode (U0 context) for finer control",
"name": "precise",
"allowNo": false,
"type": "boolean"
},
"dry-run": {
"char": "d",
"description": "Show what would be staged without applying changes",
"name": "dry-run",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "hunk",
"pluginAlias": "git-tweezers",
"pluginName": "git-tweezers",
"pluginType": "core",
"strict": false,
"enableJsonFlag": false,
"isESM": true,
"relativePath": [
"lib",
"commands",
"hunk.js"
]
},
"install": {
"aliases": [],
"args": {},
"description": "Install smart-commit template for Claude Code custom commands",
"examples": [
"<%= config.bin %> <%= command.id %>",
"<%= config.bin %> <%= command.id %> --global",
"<%= config.bin %> <%= command.id %> --force"
],
"flags": {
"global": {
"char": "g",
"description": "Install in global ~/.claude/commands directory",
"name": "global",
"allowNo": false,
"type": "boolean"
},
"force": {
"char": "f",
"description": "Overwrite existing file without prompting",
"name": "force",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "install",
"pluginAlias": "git-tweezers",
"pluginName": "git-tweezers",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": [
"lib",
"commands",
"install.js"
]
},
"lines": {
"aliases": [],
"args": {
"file": {
"description": "File to stage lines from",
"name": "file",
"required": true
},
"range": {
"description": "Line range to stage (e.g., 10-15, 10, or 10-15,20,25-30)",
"name": "range",
"required": true
}
},
"description": "Stage specific lines or line ranges from a file",
"examples": [
"<%= config.bin %> <%= command.id %> src/index.ts 10-15",
"<%= config.bin %> <%= command.id %> src/index.ts 25",
"<%= config.bin %> <%= command.id %> src/index.ts 10-15,20,25-30 # Multiple ranges"
],
"flags": {
"dry-run": {
"char": "d",
"description": "Show what would be staged without applying changes",
"name": "dry-run",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "lines",
"pluginAlias": "git-tweezers",
"pluginName": "git-tweezers",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": [
"lib",
"commands",
"lines.js"
]
},
"list": {
"aliases": [],
"args": {
"files": {
"description": "Files to list hunks from (omit to show all)",
"name": "files",
"required": false
}
},
"description": "List all hunks in a file with their line numbers",
"examples": [
"<%= config.bin %> <%= command.id %> # List all changed files",
"<%= config.bin %> <%= command.id %> src/index.ts # List hunks in specific file",
"<%= config.bin %> <%= command.id %> src/*.ts # List hunks in multiple files",
"<%= config.bin %> <%= command.id %> -p src/index.ts # Use precise mode for smaller hunks",
"<%= config.bin %> <%= command.id %> --preview # Show diff preview for each hunk"
],
"flags": {
"precise": {
"char": "p",
"description": "Use precise mode (U0 context) for finer control",
"name": "precise",
"allowNo": false,
"type": "boolean"
},
"preview": {
"description": "Show full diff preview for each hunk (legacy flag, now default behavior)",
"hidden": true,
"name": "preview",
"allowNo": false,
"type": "boolean"
},
"inline": {
"char": "i",
"description": "Show inline summary with stats and first changed line",
"name": "inline",
"allowNo": false,
"type": "boolean"
},
"oneline": {
"char": "o",
"description": "Show only hunk headers without preview (like git log --oneline)",
"name": "oneline",
"allowNo": false,
"type": "boolean"
},
"context": {
"char": "c",
"description": "Number of context lines to show in preview",
"name": "context",
"default": 3,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "list",
"pluginAlias": "git-tweezers",
"pluginName": "git-tweezers",
"pluginType": "core",
"strict": false,
"enableJsonFlag": false,
"isESM": true,
"relativePath": [
"lib",
"commands",
"list.js"
]
},
"undo": {
"aliases": [],
"args": {},
"description": "Undo the last staging operation",
"examples": [
"<%= config.bin %> <%= command.id %> # Undo the most recent staging",
"<%= config.bin %> <%= command.id %> --step 2 # Undo the 2nd most recent staging",
"<%= config.bin %> <%= command.id %> --list # List available undo history"
],
"flags": {
"step": {
"char": "s",
"description": "Which staging operation to undo (0 = most recent)",
"name": "step",
"default": 0,
"hasDynamicHelp": false,
"multiple": false,
"type": "option"
},
"list": {
"char": "l",
"description": "List available undo history",
"name": "list",
"allowNo": false,
"type": "boolean"
}
},
"hasDynamicHelp": false,
"hiddenAliases": [],
"id": "undo",
"pluginAlias": "git-tweezers",
"pluginName": "git-tweezers",
"pluginType": "core",
"strict": true,
"enableJsonFlag": false,
"isESM": true,
"relativePath": [
"lib",
"commands",
"undo.js"
]
}
},
"version": "0.1.14"
}