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

For AI agents

Read 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.10.tar.gz (30.2 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.10-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vibemusic-0.1.10.tar.gz
  • Upload date:
  • Size: 30.2 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.10.tar.gz
Algorithm Hash digest
SHA256 68508c5e8d2acca430a4b6ce0a93c699833224760c61f9ea70a6fbcb1e611fef
MD5 b1ad1a4dcfd3923c888fd3a9cb66475c
BLAKE2b-256 0c1dd0f7469a236856d9772127ab5ff7c2ca4ccefe6c7f4484c01a461fe1e2dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vibemusic-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 29.3 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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 2f652a59e882b7de0e2d4275d76c404a10305c3e0ae3916407f987b603d36956
MD5 abf213f114ff0a98d5c74643fe8860c7
BLAKE2b-256 762b412c3da4292bec1abb3a59524027c57650a10dc72d5209ebc95e9316153f

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