Skip to main content

Vibe Music: adaptive coding atmosphere engine (CLI)

Project description

Yit (Vibe Music)

Yit is an adaptive coding atmosphere engine for developers.

It runs music in a detached background mpv process and switches the vibe based on what you are doing:

  • Change branches: the vibe can change
  • Hit errors: intensity can increase
  • Deploy: cinematic energy
  • Late night: ambient mode
  • Deep focus: lo-fi mode

You do not manage playlists. You choose a vibe (or let it auto-pick) and keep coding.

What it does

  • Plays in the background: the terminal is never blocked
  • Fast search: uses yt-dlp to find playable YouTube URLs quickly
  • Vibe modes: focus, debug, build, deploy, late-night, hackathon
  • Auto vibe: time-of-day + git branch naming rules
  • Optional git hooks: branch checkout/merge and push can trigger vibe changes
  • Agent-friendly: JSON command discovery + JSON state output

Installation

pip install vibemusic

Requirements

  • mpv
    • Windows: Yit can auto-download a portable mpv.exe if missing
    • macOS: install with brew install mpv
    • Linux: install with your package manager (for example apt install mpv)
  • yt-dlp is installed as a Python dependency of this package

If yit is not found

If your Python scripts folder is not on PATH, you can always run:

python -m yit commands

Quick start

Vibe mode

vibe focus
vibe debug
vibe build
vibe deploy --victory
vibe late-night
vibe hackathon

By default, vibe results are filtered to "English-like" titles and queries are biased toward English results. To disable this filtering:

vibe focus --lang any

To target Tamil results:

vibe focus --lang tamil

Auto vibe (time + git branch)

# Polls every 10 seconds and switches when the vibe changes
vibe auto --repo .

# Decide once and exit (useful in scripts)
vibe auto --repo . --once

Branch naming rules used by vibe branch / vibe auto:

  • fix/, bug/, hotfix/ -> debug
  • feature/, feat/ -> build
  • release/, deploy/ -> deploy

React to errors while running a command

Run your tests/build/dev server and switch to a debug vibe when error-like output appears:

vibe watch -- npm test

Git hooks automation (optional)

Install hooks into any git repo:

cd /path/to/your/repo
vibe hooks install

Uninstall:

vibe hooks uninstall

Dev Vibe Card (shareable)

vibe card
vibe card --json

Classic controls

vibe pause
vibe resume
vibe toggle
vibe stop

vibe next
vibe back
vibe replay   # or: vibe 0

vibe queue
vibe clear

Quick flags (single-arg shortcuts):

vibe -n    # next
vibe -b    # back
vibe -q    # queue
vibe -c    # clear
vibe -p    # pause

## Visualizer

You can show a simple ASCII visualizer for the currently playing track:

```bash
vibe visual

## For AI agents

Read [AI_INSTRUCTIONS.md](AI_INSTRUCTIONS.md). The key entry points are:

- `vibe commands` (JSON capability list)
- `vibe agent` (JSON player state)
- `vibe ...` (preferred for developer-state requests)

## Architecture (high level)

- **Client**: the `yit` CLI parses commands and decides what to play
- **Daemon**: an `mpv` process does the actual playback
- **IPC**: named pipe on Windows; Unix socket on macOS/Linux
- **Local state**: stored under `~/.yit/` (history, cached vibe results, stats)

## Disclaimer and legal notice

This software is provided for educational and research purposes.

- It is a CLI wrapper around `mpv` and `yt-dlp`
- It does not host or distribute copyrighted media
- Streaming behavior depends on third-party services and their terms

## License

GPL-3.0-or-later. See `LICENSE`.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vibemusic-0.1.12.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vibemusic-0.1.12-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file vibemusic-0.1.12.tar.gz.

File metadata

  • Download URL: vibemusic-0.1.12.tar.gz
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for vibemusic-0.1.12.tar.gz
Algorithm Hash digest
SHA256 b734a4d006189f8fcd36e463c43a1a97a01fed5593e1ba17337f50f4c41beb1a
MD5 83547b09bdfb81d619acb27305f486a9
BLAKE2b-256 c6dbb6f07369d9ded2b20152368b0f1475bf1475a06ca2d280854f93f4bf3b92

See more details on using hashes here.

File details

Details for the file vibemusic-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: vibemusic-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for vibemusic-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 d293b2cac1f060eee2bce0410a9f5e8c976a8da83acef522baa01bfd342eff53
MD5 19c89b11d39262fd74075efe0f6b9da1
BLAKE2b-256 0200fee4e9ee9808ba41edbe50825210f19fbb1cec8ca560f3b1e5edfc2e3581

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page