sccb


Namesccb JSON
Version 0.4.3 PyPI version JSON
download
home_pageNone
SummarySCCB – A customizable CLI tool for managing command shortcuts and clipboard snippets.
upload_time2025-09-07 21:14:29
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords cli productivity shortcuts snippets developer-tools
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            πŸ“‹ SCCB – Shortcut Clipboard + Command Binder

SCCB is a customizable CLI tool that lets you save and run command shortcuts and clipboard snippets.
It’s like a mix of a snippet manager, alias system, and Git helper, but fully configurable via a JSON file.

I built this project to save time in my daily workflow β€” instead of typing long Git commands or reusing the same text snippets, I can now run them instantly with sccb.

---

✨ Features

- πŸ”– Snippets β†’ Save reusable text (like API keys, tokens, boilerplate) and copy it to your clipboard with one command.
- ⚑ Commands β†’ Save shell command macros and run them instantly.
- πŸ“ Variable substitution β†’ Use placeholders like {msg} or {key} and fill them at runtime.
- πŸ›  Defaults β†’ Define default values for variables in your config or via sccb default.
- πŸ“‚ Config file β†’ All shortcuts are stored in ~/.sccb.json (easy to edit, share, or sync).
- 🎨 Pretty output β†’ Uses Rich for nice tables.
- πŸ–₯ Shell integration β†’ Optionally push commands into your shell buffer (zsh).
- 🧹 Simple management β†’ Add, remove, list, set defaults, and edit shortcuts easily.

---

πŸ“¦ Installation

From PyPI (recommended)

    pip install sccb

From source

    git clone https://github.com/Jinkuman/sccb.git
    cd sccb
    pip install -e .

---

πŸš€ Usage

Add a Command

    sccb add gitall:"git add . && git commit -m '{msg}' && git push"

- {msg} is a variable placeholder.

- Run it with a custom message:

      sccb run gitall msg:"Initial commit" !

β†’ Executes git add . && git commit -m 'Initial commit' && git push

- Or define a default:

      sccb default gitall msg:"quick commit"
      sccb run gitall !

β†’ Executes with "quick commit" as the default message.

---

Add a Snippet (API Key Example)

    sccb add@ apikey:"sk-1234567890abcdef"

- Copy it to clipboard:

      sccb run apikey

β†’ Copies sk-1234567890abcdef to clipboard.

- With a variable (e.g., different environments):

      sccb add@ apikey:"{env}_sk-1234567890abcdef"
      sccb run apikey env:"dev"

β†’ Copies dev_sk-1234567890abcdef to clipboard.

- With a default:

      sccb default apikey env:"prod"
      sccb run apikey

β†’ Copies prod_sk-1234567890abcdef to clipboard.

---

List Shortcuts

    sccb ls

---

Remove a Shortcut

    sccb rm apikey

---

Edit Config

    sccb edit

---

Help

    sccb help

---

Shell Integration (Optional)

You can install shell integration to push commands into your shell buffer (zsh only for now):

    sccb install-shell
    source ~/.zshrc

Then you can type:

    sccb run gitall

and the command will appear in your terminal buffer, ready to run.

---

πŸ“Œ Example Config (~/.sccb.json)

    {
      "commands": {
        "gitall": {
          "type": "command",
          "value": "git add . && git commit -m '{msg}' && git push",
          "defaults": { "msg": "quick commit" }
        }
      },
      "snippets": {
        "apikey": {
          "type": "snippet",
          "value": "sk-1234567890abcdef",
          "defaults": {}
        }
      }
    }

---

πŸ›  How I Built It

- Language: Python
- CLI Framework: Typer
- Clipboard: Pyperclip
- Pretty Output: Rich
- Config: JSON file stored at ~/.sccb.json
- Packaging: pyproject.toml + published to PyPI
  This project started as a way to save time typing repetitive Git commands and reusing text snippets. Over time, I added:

- Variable substitution ({msg}, {env})
- Defaults (sccb default)
- Shell integration for buffer mode
- A polished CLI with ls, rm, edit, and help

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sccb",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "cli, productivity, shortcuts, snippets, developer-tools",
    "author": null,
    "author_email": "Ajinkya Dhamdhere <aj.dhamdhere@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/a5/4f/81122f8030f9c1a2352b4c0b681cff4fe48bb322b7d5a152892eac3d782f/sccb-0.4.3.tar.gz",
    "platform": null,
    "description": "\ud83d\udccb SCCB \u2013 Shortcut Clipboard + Command Binder\n\nSCCB is a customizable CLI tool that lets you save and run command shortcuts and clipboard snippets.\nIt\u2019s like a mix of a snippet manager, alias system, and Git helper, but fully configurable via a JSON file.\n\nI built this project to save time in my daily workflow \u2014 instead of typing long Git commands or reusing the same text snippets, I can now run them instantly with sccb.\n\n---\n\n\u2728 Features\n\n- \ud83d\udd16 Snippets \u2192 Save reusable text (like API keys, tokens, boilerplate) and copy it to your clipboard with one command.\n- \u26a1 Commands \u2192 Save shell command macros and run them instantly.\n- \ud83d\udcdd Variable substitution \u2192 Use placeholders like {msg} or {key} and fill them at runtime.\n- \ud83d\udee0 Defaults \u2192 Define default values for variables in your config or via sccb default.\n- \ud83d\udcc2 Config file \u2192 All shortcuts are stored in ~/.sccb.json (easy to edit, share, or sync).\n- \ud83c\udfa8 Pretty output \u2192 Uses Rich for nice tables.\n- \ud83d\udda5 Shell integration \u2192 Optionally push commands into your shell buffer (zsh).\n- \ud83e\uddf9 Simple management \u2192 Add, remove, list, set defaults, and edit shortcuts easily.\n\n---\n\n\ud83d\udce6 Installation\n\nFrom PyPI (recommended)\n\n    pip install sccb\n\nFrom source\n\n    git clone https://github.com/Jinkuman/sccb.git\n    cd sccb\n    pip install -e .\n\n---\n\n\ud83d\ude80 Usage\n\nAdd a Command\n\n    sccb add gitall:\"git add . && git commit -m '{msg}' && git push\"\n\n- {msg} is a variable placeholder.\n\n- Run it with a custom message:\n\n      sccb run gitall msg:\"Initial commit\" !\n\n\u2192 Executes git add . && git commit -m 'Initial commit' && git push\n\n- Or define a default:\n\n      sccb default gitall msg:\"quick commit\"\n      sccb run gitall !\n\n\u2192 Executes with \"quick commit\" as the default message.\n\n---\n\nAdd a Snippet (API Key Example)\n\n    sccb add@ apikey:\"sk-1234567890abcdef\"\n\n- Copy it to clipboard:\n\n      sccb run apikey\n\n\u2192 Copies sk-1234567890abcdef to clipboard.\n\n- With a variable (e.g., different environments):\n\n      sccb add@ apikey:\"{env}_sk-1234567890abcdef\"\n      sccb run apikey env:\"dev\"\n\n\u2192 Copies dev_sk-1234567890abcdef to clipboard.\n\n- With a default:\n\n      sccb default apikey env:\"prod\"\n      sccb run apikey\n\n\u2192 Copies prod_sk-1234567890abcdef to clipboard.\n\n---\n\nList Shortcuts\n\n    sccb ls\n\n---\n\nRemove a Shortcut\n\n    sccb rm apikey\n\n---\n\nEdit Config\n\n    sccb edit\n\n---\n\nHelp\n\n    sccb help\n\n---\n\nShell Integration (Optional)\n\nYou can install shell integration to push commands into your shell buffer (zsh only for now):\n\n    sccb install-shell\n    source ~/.zshrc\n\nThen you can type:\n\n    sccb run gitall\n\nand the command will appear in your terminal buffer, ready to run.\n\n---\n\n\ud83d\udccc Example Config (~/.sccb.json)\n\n    {\n      \"commands\": {\n        \"gitall\": {\n          \"type\": \"command\",\n          \"value\": \"git add . && git commit -m '{msg}' && git push\",\n          \"defaults\": { \"msg\": \"quick commit\" }\n        }\n      },\n      \"snippets\": {\n        \"apikey\": {\n          \"type\": \"snippet\",\n          \"value\": \"sk-1234567890abcdef\",\n          \"defaults\": {}\n        }\n      }\n    }\n\n---\n\n\ud83d\udee0 How I Built It\n\n- Language: Python\n- CLI Framework: Typer\n- Clipboard: Pyperclip\n- Pretty Output: Rich\n- Config: JSON file stored at ~/.sccb.json\n- Packaging: pyproject.toml + published to PyPI\n  This project started as a way to save time typing repetitive Git commands and reusing text snippets. Over time, I added:\n\n- Variable substitution ({msg}, {env})\n- Defaults (sccb default)\n- Shell integration for buffer mode\n- A polished CLI with ls, rm, edit, and help\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "SCCB \u2013 A customizable CLI tool for managing command shortcuts and clipboard snippets.",
    "version": "0.4.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/Jinkuman/sccb/issues",
        "Homepage": "https://github.com/Jinkuman/sccb",
        "Source": "https://github.com/Jinkuman/sccb"
    },
    "split_keywords": [
        "cli",
        " productivity",
        " shortcuts",
        " snippets",
        " developer-tools"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5b98ba491ca921292050b32dffd28db4c37541ea764484310944a05e0f87383b",
                "md5": "667c5713e7b6ecd6faab664927424307",
                "sha256": "5c0bca9d574205e2380fa1bdf67637d482fe01c6744484f4521b3fd7a5b2463b"
            },
            "downloads": -1,
            "filename": "sccb-0.4.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "667c5713e7b6ecd6faab664927424307",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 8104,
            "upload_time": "2025-09-07T21:14:28",
            "upload_time_iso_8601": "2025-09-07T21:14:28.617394Z",
            "url": "https://files.pythonhosted.org/packages/5b/98/ba491ca921292050b32dffd28db4c37541ea764484310944a05e0f87383b/sccb-0.4.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a54f81122f8030f9c1a2352b4c0b681cff4fe48bb322b7d5a152892eac3d782f",
                "md5": "70957c92d097b2bfe0ffbcfbc7b29ca9",
                "sha256": "c194355c134968a0f0c6f85e4074c82cffff421c43d46652472dd0f9db0d1177"
            },
            "downloads": -1,
            "filename": "sccb-0.4.3.tar.gz",
            "has_sig": false,
            "md5_digest": "70957c92d097b2bfe0ffbcfbc7b29ca9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 8974,
            "upload_time": "2025-09-07T21:14:29",
            "upload_time_iso_8601": "2025-09-07T21:14:29.358565Z",
            "url": "https://files.pythonhosted.org/packages/a5/4f/81122f8030f9c1a2352b4c0b681cff4fe48bb322b7d5a152892eac3d782f/sccb-0.4.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-07 21:14:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Jinkuman",
    "github_project": "sccb",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "sccb"
}
        
Elapsed time: 2.67595s