{"id":44362288,"url":"https://github.com/ymyke/tintcd","last_synced_at":"2026-02-11T17:38:19.902Z","repository":{"id":331233371,"uuid":"1124903225","full_name":"ymyke/tintcd","owner":"ymyke","description":"tintcd — Directory-aware terminal theming for PowerShell. cd, but colorful.","archived":false,"fork":false,"pushed_at":"2025-12-31T13:43:21.000Z","size":219,"stargazers_count":22,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-04T19:08:22.524Z","etag":null,"topics":["cli","developer-tools","oh-my-posh","powershell","prompt","pwsh","terminal","terminal-themes","windows-terminal"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ymyke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-29T20:24:07.000Z","updated_at":"2026-01-04T04:13:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ymyke/tintcd","commit_stats":null,"previous_names":["ymyke/tintcd"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ymyke/tintcd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymyke%2Ftintcd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymyke%2Ftintcd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymyke%2Ftintcd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymyke%2Ftintcd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ymyke","download_url":"https://codeload.github.com/ymyke/tintcd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymyke%2Ftintcd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29339783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T16:14:43.024Z","status":"ssl_error","status_checked_at":"2026-02-11T16:14:15.258Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","developer-tools","oh-my-posh","powershell","prompt","pwsh","terminal","terminal-themes","windows-terminal"],"created_at":"2026-02-11T17:38:15.513Z","updated_at":"2026-02-11T17:38:19.897Z","avatar_url":"https://github.com/ymyke.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tintcd\n\nSpatial memory for your terminal. Each directory gets a stable, deterministic background\ntint.\n\n\u003cimg src=\"demo.gif\" width=\"800\"\u003e\n\n## Install\n\n```powershell\nInstall-Module tintcd\n```\n\n## Why\n\nI always have several terminal windows open in different folders. I'd alt-tab back, squint at the prompt, and wonder if I'm still in the right place. The prompt alone wasn't enough. I wanted something low-effort: no manual config, no color-picking — just instant \"wait, wrong folder!\" recognition or a warm and fuzzy \"ah yes, this one.\"\n\n## What it does\n\nWhen you change directories, tintcd hashes the path and applies a unique background\ncolor via OSC 11. Every directory gets a stable, visually distinct identity — no\nconfiguration needed. It also exports `$env:TINTCD_ACCENT` for prompt integration.\n\n## Quick Start\n\nAdd to your `$PROFILE`:\n\n```powershell\nImport-Module tintcd\nEnable-TintcdPromptHook\n```\n\nThat's it! Every directory change now applies theming automatically.\n\nWith oh-my-posh (must init BEFORE tintcd):\n\n```powershell\noh-my-posh init pwsh --config \"path/to/theme.json\" | Invoke-Expression\nImport-Module tintcd\nEnable-TintcdPromptHook\n```\n\n**Not working?** Run `tintcd -Status` to diagnose.\n\n## Usage modes\n\n**Auto mode** (recommended): `Enable-TintcdPromptHook` wraps your prompt. Tinting happens on every directory change — whether via `cd`, `pushd`, `Set-Location`, or scripts.\n\n**Manual mode**: Use `tintcd` as your cd command. Only tints when you explicitly call it.\n\n## Commands\n\nAll functionality is accessed through the unified `tintcd` command:\n\n```powershell\ntintcd C:\\foo              # Navigate + tint\ntintcd -Reload             # Reload config + refresh tint\ntintcd -Preview            # Preview colors for sample paths\ntintcd -Preview /foo, /bar # Preview colors for specified paths\ntintcd -Hook               # Install prompt hook (setup)\ntintcd -Unhook             # Remove prompt hook\ntintcd -Disable            # Pause tinting for session\ntintcd -Enable             # Resume tinting\ntintcd -Status             # Show status and diagnose issues\n```\n\nAlso exported: `Enable-TintcdPromptHook` (for $PROFILE), `Get-TintcdConfig` (for scripts)\n\n## Configuration\n\nCreate `~/.tintcd.json` (or set `$env:TINTCD_CONFIG`): \n\n```json\n{\n  \"BackgroundLightness\": [0.08, 0.14],\n  \"AccentLightness\": [0.45, 0.65],\n  \"Saturation\": [0.35, 0.55],\n  \"DefaultBackground\": \"1e1e1e\",\n  \"Enabled\": true\n}\n```\n\nAll keys are optional — missing keys use defaults.\n\n**Light mode?** Set `BackgroundLightness` to `[0.88, 0.94]` and `AccentLightness` to `[0.35, 0.50]`.\n\n## oh-my-posh Integration\n\ntintcd exports `$env:TINTCD_ACCENT` (a brighter version of the background color) for\nprompt integration. Use it in your theme:\n\n```json\n\"background_templates\": [\n  \"{{ if .Env.TINTCD_ACCENT }}{{ .Env.TINTCD_ACCENT }}{{ end }}\"\n]\n```\n\nSee [`examples/agnoster-tintcd.omp.json`](examples/agnoster-tintcd.omp.json) for a complete theme.\n\n## How it works\n\n```\nPath → SHA256 hash → first 3 bytes → HSL color\n                                      ↓\n                     Background: dark (L=0.08-0.14) → OSC 11\n                     Accent: bright (L=0.45-0.65) → $env:TINTCD_ACCENT\n```\n\nHSL ensures consistent visibility: all backgrounds are equally dark, all accents equally bright. Only the hue varies per directory.\n\n## Requirements\n\n- PowerShell 7.0+\n- Windows Terminal or VS Code (for OSC 11 background support)\n\n`$env:TINTCD_ACCENT` is set in any terminal, so prompt themes can use it even without OSC 11 support.\n\n## Limitations\n\n- **Overrides transparency/background images** — OSC 11 replaces any custom terminal background. Use `tintcd -Disable` to preserve.\n- **Dark mode default** — Default lightness ranges assume dark terminals. See Configuration for light mode values.\n- **Color contrast** — Tinted backgrounds may affect readability of colored text. Windows Terminal's `adjustIndistinguishableColors` setting (enabled by default) helps.\n- **oh-my-posh only** — Prompt integration is tested with oh-my-posh. Starship/others may work via `$env:TINTCD_ACCENT` but is not tested.\n\n## Contributing\n\nContributions welcome!\n\nTests: `Invoke-Pester` — config validation only, keeping it minimal.\n\n## License\n\nMIT\n\n---\n\n*cd, but colorful.*\n\n\u003csub\u003eInspired by\n[Peacock](https://marketplace.visualstudio.com/items?itemName=johnpapa.vscode-peacock).\nVibe-engineered with Claude, reviewed by ChatGPT, Gemini, and other Claude.\u003c/sub\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fymyke%2Ftintcd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fymyke%2Ftintcd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fymyke%2Ftintcd/lists"}