vibe-cmds


Namevibe-cmds JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryUseful vibe coding cli commands.
upload_time2025-08-03 19:05:45
maintainerNone
docs_urlNone
authormonosolo101
requires_python>=3.6
licenseNone
keywords git utility commands
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # vibe-cmds

Useful vibe coding cli commands.

## 1. Installation

```bash
pip install vibe-cmds
```

Or install from source:

```bash
git clone https://github.com/Vilando-Tech/vibe-cmds.git
cd vibe-cmds
pip install -e .
```

## 2. Commands

### `ass` (Auto Save State)

Creates a temporary commit with an auto-generated version string.  
This is extremely helpful when you **make small incremental code changes**.

```bash
$ ass
# Created temporary commit with version message: __init__    # If this is the first commit
# Created temporary commit with version message: a1b2c3d     # If a previous commit exists
```

Version string rules:

- If no commits exist: "**\_\_init\_\_**" will be used as the version
- If the last commit is a temp commit made by `ass`: the last version string will be reused
- If the last commit is not a temp commit: the short hash of the last non-temp commit will be used

### `css` (Commit Saved State)

Converts temporary commits into a permanent commit.  
Use this to **convert previous temporary commits into a final formal commit with a proper message**.

```bash
$ css "feat: implement new feature"
```

Behavior:

1. If the oldest temporary commit is an "**\_\_init\_\_**" commit:

   - Replaces it with the new commit
   - Example: `__init__` → `feat: implement new feature`

2. If there is a non-temporary commit before the temporary commits:

   - Resets to that commit
   - Creates a new commit with all changes
   - Example: `normal → temp1 → temp2` becomes `normal → new`

3. If all commits are temporary:
   - Creates a new commit replacing all temporary commits
   - Example: `temp1 → temp2` becomes `new`

### `dss` (Drop State to Stash)

Discards changes made since the last commit, saving them to the stash.  
Useful when recent changes turn out to be a mess.

```bash
$ dss
Saved changes to stash
```

Behavior:

- If there are no changes: prints "No changes to drop"
- Otherwise: saves all changes to the stash with message `"gitCMD: auto stash"`
- Changes can be recovered later using `git stash pop` or `git stash apply`

### `fss` (Fuck off Saved State)

Moves temporary commits to a new branch and resets the main branch.  
Use this when everything feels like a mistake and you want to restore the codebase to the last formal commit.

```bash
$ fss
#Saved current changes as temporary commit
#Created new branch: temp/abc123_250325
#Reset main to last non-temp commit
```

Behavior:

1. If there are uncommitted changes:
   - Creates a temporary commit with current changes
2. If no commits exist: prints "No commits to fuck off" and stop
3. If all commits are temporary: prints a warning and exits and stop
4. If there are no temporary commits: prints "No temporary commits to fuck off" and stop
5. Otherwise:
   - Creates a new branch `temp/$version_YYMMDD_HHMMSS`
   - Moves all temporary commits to the new branch
   - Resets the main branch to the last non-temporary commit

## 3. Use Case

Typical workflow:

```bash
# Step 0: The repo is in a clean state since the last commit
git log
commit aaa (HEAD -> main)

# Step 1: Make some changes
$ ass
# Saved temporary state
# Created temporary commit with version message: aaa

# Step 2: Make more changes
$ ass
# Saved another state
# Created temporary commit with version message: aaa

# Step 4: AI messed something up
$ dss
# Discard all changes and return to Step 2

# Step 5: Make more changes and get ready for a proper commit
$ css "feat: complete implementation"
# Squash all xxxxx temp commits into a formal commit
# Created commit: feat: complete implementation

# Optional Step 5: Decide the whole thing was a mistake
$ fss
# Discard all changes and return to Step 0
# Reset main to last non-temp commit
```

This allows you to:

1. Save work-in-progress changes frequently
2. Convert them into a clean commit when ready, or discard them entirely if needed
3. Maintain a clean Git history

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "vibe-cmds",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "git, utility, commands",
    "author": "monosolo101",
    "author_email": "monosolo1on1@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/69/3a/47cdf52b789e183d94ae9cffaa0d9292e78096a0af2c48a058f0532dc45d/vibe_cmds-1.0.0.tar.gz",
    "platform": null,
    "description": "# vibe-cmds\n\nUseful vibe coding cli commands.\n\n## 1. Installation\n\n```bash\npip install vibe-cmds\n```\n\nOr install from source:\n\n```bash\ngit clone https://github.com/Vilando-Tech/vibe-cmds.git\ncd vibe-cmds\npip install -e .\n```\n\n## 2. Commands\n\n### `ass` (Auto Save State)\n\nCreates a temporary commit with an auto-generated version string.  \nThis is extremely helpful when you **make small incremental code changes**.\n\n```bash\n$ ass\n# Created temporary commit with version message: __init__    # If this is the first commit\n# Created temporary commit with version message: a1b2c3d     # If a previous commit exists\n```\n\nVersion string rules:\n\n- If no commits exist: \"**\\_\\_init\\_\\_**\" will be used as the version\n- If the last commit is a temp commit made by `ass`: the last version string will be reused\n- If the last commit is not a temp commit: the short hash of the last non-temp commit will be used\n\n### `css` (Commit Saved State)\n\nConverts temporary commits into a permanent commit.  \nUse this to **convert previous temporary commits into a final formal commit with a proper message**.\n\n```bash\n$ css \"feat: implement new feature\"\n```\n\nBehavior:\n\n1. If the oldest temporary commit is an \"**\\_\\_init\\_\\_**\" commit:\n\n   - Replaces it with the new commit\n   - Example: `__init__` \u2192 `feat: implement new feature`\n\n2. If there is a non-temporary commit before the temporary commits:\n\n   - Resets to that commit\n   - Creates a new commit with all changes\n   - Example: `normal \u2192 temp1 \u2192 temp2` becomes `normal \u2192 new`\n\n3. If all commits are temporary:\n   - Creates a new commit replacing all temporary commits\n   - Example: `temp1 \u2192 temp2` becomes `new`\n\n### `dss` (Drop State to Stash)\n\nDiscards changes made since the last commit, saving them to the stash.  \nUseful when recent changes turn out to be a mess.\n\n```bash\n$ dss\nSaved changes to stash\n```\n\nBehavior:\n\n- If there are no changes: prints \"No changes to drop\"\n- Otherwise: saves all changes to the stash with message `\"gitCMD: auto stash\"`\n- Changes can be recovered later using `git stash pop` or `git stash apply`\n\n### `fss` (Fuck off Saved State)\n\nMoves temporary commits to a new branch and resets the main branch.  \nUse this when everything feels like a mistake and you want to restore the codebase to the last formal commit.\n\n```bash\n$ fss\n#Saved current changes as temporary commit\n#Created new branch: temp/abc123_250325\n#Reset main to last non-temp commit\n```\n\nBehavior:\n\n1. If there are uncommitted changes:\n   - Creates a temporary commit with current changes\n2. If no commits exist: prints \"No commits to fuck off\" and stop\n3. If all commits are temporary: prints a warning and exits and stop\n4. If there are no temporary commits: prints \"No temporary commits to fuck off\" and stop\n5. Otherwise:\n   - Creates a new branch `temp/$version_YYMMDD_HHMMSS`\n   - Moves all temporary commits to the new branch\n   - Resets the main branch to the last non-temporary commit\n\n## 3. Use Case\n\nTypical workflow:\n\n```bash\n# Step 0: The repo is in a clean state since the last commit\ngit log\ncommit aaa (HEAD -> main)\n\n# Step 1: Make some changes\n$ ass\n# Saved temporary state\n# Created temporary commit with version message: aaa\n\n# Step 2: Make more changes\n$ ass\n# Saved another state\n# Created temporary commit with version message: aaa\n\n# Step 4: AI messed something up\n$ dss\n# Discard all changes and return to Step 2\n\n# Step 5: Make more changes and get ready for a proper commit\n$ css \"feat: complete implementation\"\n# Squash all xxxxx temp commits into a formal commit\n# Created commit: feat: complete implementation\n\n# Optional Step 5: Decide the whole thing was a mistake\n$ fss\n# Discard all changes and return to Step 0\n# Reset main to last non-temp commit\n```\n\nThis allows you to:\n\n1. Save work-in-progress changes frequently\n2. Convert them into a clean commit when ready, or discard them entirely if needed\n3. Maintain a clean Git history\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Useful vibe coding cli commands.",
    "version": "1.0.0",
    "project_urls": null,
    "split_keywords": [
        "git",
        " utility",
        " commands"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d640e55f3ceddd8f7d0997f801e2ade07b3917a81307f9ecf75ff7a6cc48d0f5",
                "md5": "8f04643684a9e6ec2ce42444ea39b4a7",
                "sha256": "bd91f473461bf28bd22aca5691a2c5b342aa96c1eeb66958867faa967529bf0e"
            },
            "downloads": -1,
            "filename": "vibe_cmds-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8f04643684a9e6ec2ce42444ea39b4a7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 7022,
            "upload_time": "2025-08-03T19:05:43",
            "upload_time_iso_8601": "2025-08-03T19:05:43.573451Z",
            "url": "https://files.pythonhosted.org/packages/d6/40/e55f3ceddd8f7d0997f801e2ade07b3917a81307f9ecf75ff7a6cc48d0f5/vibe_cmds-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "693a47cdf52b789e183d94ae9cffaa0d9292e78096a0af2c48a058f0532dc45d",
                "md5": "27d7de5536e9fa6ce1bf4362cf862086",
                "sha256": "9584774dc21f0b7efb562e068f879a5a522211b81274f3c6ea550f6a0fcc483f"
            },
            "downloads": -1,
            "filename": "vibe_cmds-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "27d7de5536e9fa6ce1bf4362cf862086",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 5495,
            "upload_time": "2025-08-03T19:05:45",
            "upload_time_iso_8601": "2025-08-03T19:05:45.161410Z",
            "url": "https://files.pythonhosted.org/packages/69/3a/47cdf52b789e183d94ae9cffaa0d9292e78096a0af2c48a058f0532dc45d/vibe_cmds-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-03 19:05:45",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "vibe-cmds"
}
        
Elapsed time: 1.48253s