{"id":29539437,"url":"https://github.com/tranqy/zellij-utils","last_synced_at":"2025-07-17T07:02:09.893Z","repository":{"id":302862859,"uuid":"1008303899","full_name":"tranqy/zellij-utils","owner":"tranqy","description":"Powerful shell utilities for streamlined Zellij terminal multiplexer workflows with smart session management and development layouts","archived":false,"fork":false,"pushed_at":"2025-07-11T15:14:37.000Z","size":222,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-11T16:41:40.202Z","etag":null,"topics":["bash","cli","development","multiplexer","productivity","shell","terminal","tmux","workflow","zellij"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/tranqy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-25T10:39:41.000Z","updated_at":"2025-07-11T15:14:40.000Z","dependencies_parsed_at":"2025-07-04T14:11:16.998Z","dependency_job_id":"f1e46bcc-37ca-4419-8151-2d48998556aa","html_url":"https://github.com/tranqy/zellij-utils","commit_stats":null,"previous_names":["tranqy/zellij-utils"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tranqy/zellij-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tranqy%2Fzellij-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tranqy%2Fzellij-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tranqy%2Fzellij-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tranqy%2Fzellij-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tranqy","download_url":"https://codeload.github.com/tranqy/zellij-utils/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tranqy%2Fzellij-utils/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265575411,"owners_count":23790768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bash","cli","development","multiplexer","productivity","shell","terminal","tmux","workflow","zellij"],"created_at":"2025-07-17T07:01:05.585Z","updated_at":"2025-07-17T07:02:09.886Z","avatar_url":"https://github.com/tranqy.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zellij Utils\n\nA collection of powerful, configuration-driven shell utilities to streamline your [Zellij](https://github.com/zellij-org/zellij) workflows.\n\n**Why use Zellij Utils?**\n\n-   **Smart Session Management**: Automatically name sessions based on your current project, git repository, or directory. No more `zellij attach` followed by hunting for the right session.\n-   **Persistent \u0026 Remote Workflows**: Keep your sessions alive on a remote machine, allowing you to disconnect and reconnect from anywhere without interrupting your work. Perfect for long-running tasks, AI agent pairs, and development servers.\n-   **Effortless Workspaces**: Jump directly into pre-defined development layouts (`editor`, `git`, `logs`, etc.) with a single command.\n-   **Safety and Control**: Interactively delete sessions with confirmations, preventing accidental data loss.\n-   **Highly Configurable**: Customize everything from session naming conventions to auto-start behavior.\n\nStop thinking about managing your multiplexer and start focusing on your work.\n\n### 💡 Example Use Case: Persistent \u0026 Mobile Workflows\n\nAre you working with long-running processes like AI agents, development servers, or complex builds? Zellij Utils helps you maintain persistent sessions that you can access from anywhere.\n\nImagine you start an \"agentic pair\" chat session from your desktop IDE. With Zellij and these utilities, that session lives on your machine (or a remote server) independently of your IDE. You can close your laptop, head out, and then seamlessly re-attach to the exact same session from your phone or another computer via SSH. Your agents, chats, and processes will be exactly as you left them.\n\nThis workflow is ideal for:\n-   **AI and Agent Development**: Keep your models running and chats active 24/7.\n-   **Remote Development**: Start a build on your work machine and check its progress from home.\n-   **Mobile Productivity**: Quickly access your terminal sessions on the go to issue commands or check logs.\n\n## 🚀 Installation\n\n### Quick Install (Recommended)\n\n```bash\nbash \u003c(curl -fsSL https://raw.githubusercontent.com/tranqy/zellij-utils/main/scripts/install.sh)\n```\n\n### Manual Install\n\n```bash\n# 1. Clone the repository\ngit clone https://github.com/tranqy/zellij-utils.git\ncd zellij-utils\n\n# 2. Run the installer\nchmod +x scripts/install.sh\n./scripts/install.sh\n```\n\nThe installer automatically:\n- Downloads and installs all necessary files\n- Sets up shell integration for bash/zsh\n- Copies layouts and configurations\n- Does not overwrite existing configurations without permission\n\nAfter installation, restart your terminal or run `source ~/.bashrc` (or `~/.zshrc` for zsh).\n\n## ✨ Core Features\n\n### Smart Session Attachment (`zj`)\n\nThe `zj` command is the heart of Zellij Utils. It intelligently creates or attaches to a session with a sensible name, so you don't have to.\n\n-   **In a git repository?** It uses the repo name (`my-project`).\n-   **In a project directory?** It uses the directory name (`api-server`).\n-   **In directories with dots?** It converts them to hyphens (`test.example.com` → `test-example-com`).\n-   **In your home directory?** It names the session `home`.\n\n```bash\n# Navigate to your project and start a session\ncd ~/work/my-cool-project\nzj # Attaches to or creates a session named \"my-cool-project\"\n\n# Create a session with a custom name\nzj my-session\n\n# Create a session with a specific layout\nzj my-session dev\n```\n\n### Development Layouts (`zjdev`)\n\nInstantly create a development workspace with a pre-defined layout.\n\n```bash\n# Start a dev session for the current project\nzjdev # Creates a session with editor, terminal, and git panes\n\n# Specify a project name and layout\nzjdev my-api dev\n```\n\n### Session Management\n\n-   `zjl`: List all active Zellij sessions.\n-   `zjk \u003cname\u003e`: Kill a session by name.\n-   `zjd`: Interactively delete sessions using `fzf` (if installed).\n-   `zjd \u003cname\u003e`: Delete a specific session with a confirmation prompt.\n-   `zjd --all`: Delete all sessions except the one you're in.\n-   `zjs \u003cname\u003e`: Switch to a running session.\n\n## 🔧 Configuration\n\nZellij Utils is designed to be highly configurable. After running the installer, you can modify the configuration files located in `~/.config/zellij-utils/`.\n\n-   `zellij-utils.conf`: Controls core behavior like auto-starting, session name sanitization, and caching.\n-   `session-naming.conf`: Defines the rules for how smart session naming works, including project markers (e.g., `package.json`) and custom directory mappings.\n\nFor detailed configuration options, see the comments within the generated configuration files.\n\n## 🔬 Quality \u0026 Testing\n\nZellij Utils is thoroughly tested and production-ready:\n\n- **🚀 Automated CI/CD**: GitHub Actions with containerized testing in Ubuntu and Alpine Linux\n- **🛡️ Security Testing**: Input validation, injection prevention, and dependency safety checks  \n- **🔧 Integration Testing**: Complete installation and functionality validation\n- **🌐 Compatibility Testing**: Multi-shell (Bash/Zsh) and cross-platform support\n- **📊 Performance Testing**: Caching optimization and scalability validation\n\nAll tests run in isolated Docker containers to ensure consistency and prevent interference with your local environment.\n\n## 🛠 For Developers\n\nInterested in contributing or understanding the technical details? Please see the [**Local Development and Testing Guide**](DEVELOPMENT.md).\n\n## 📢 Marketing \u0026 Community\n\nThis project includes comprehensive marketing materials and community engagement strategy. See the [**marketing/**](marketing/) directory for:\n\n- Ready-to-publish blog posts and articles\n- Community-specific post templates \n- Launch strategy and success metrics\n- Community engagement guidelines\n\n## 📜 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftranqy%2Fzellij-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftranqy%2Fzellij-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftranqy%2Fzellij-utils/lists"}