{"id":25037949,"url":"https://github.com/GianlucaP106/mynav","last_synced_at":"2025-10-20T22:30:49.112Z","repository":{"id":235950749,"uuid":"791603222","full_name":"GianlucaP106/mynav","owner":"GianlucaP106","description":"Workspace and session management TUI","archived":false,"fork":false,"pushed_at":"2025-01-31T01:52:50.000Z","size":4659,"stargazers_count":13,"open_issues_count":8,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-31T02:34:01.433Z","etag":null,"topics":["cli","development","go","management","productivity","sessions","terminal","tmux","tui","workspaces"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GianlucaP106.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-04-25T02:45:11.000Z","updated_at":"2025-01-31T01:50:58.000Z","dependencies_parsed_at":"2024-06-01T03:23:09.421Z","dependency_job_id":"46cb3f6f-6219-4c0d-b877-61bea8544254","html_url":"https://github.com/GianlucaP106/mynav","commit_stats":null,"previous_names":["gianlucap106/mynav"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GianlucaP106%2Fmynav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GianlucaP106%2Fmynav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GianlucaP106%2Fmynav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GianlucaP106%2Fmynav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GianlucaP106","download_url":"https://codeload.github.com/GianlucaP106/mynav/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237403368,"owners_count":19304417,"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":["cli","development","go","management","productivity","sessions","terminal","tmux","tui","workspaces"],"created_at":"2025-02-06T02:01:25.285Z","updated_at":"2025-10-20T22:30:49.107Z","avatar_url":"https://github.com/GianlucaP106.png","language":"Go","funding_links":[],"categories":["Recently Updated","Productivity","\u003ca name=\"tools\"\u003e\u003c/a\u003eTools and session management","\u003ca name=\"terminal\"\u003e\u003c/a\u003eTerminals","Table of Contents"],"sub_categories":["[Feb 06, 2025](/content/2025/02/06/README.md)","Testing"],"readme":"# MyNav 🧭\n\nA powerful terminal-based workspace navigator and session manager built in Go. MyNav helps developers organize and manage multiple projects through an intuitive interface, seamlessly integrating with tmux sessions.\n\n[![Version](https://img.shields.io/badge/version-v2.1.1-blue)](https://github.com/GianlucaP106/mynav/releases)\n[![Go Version](https://img.shields.io/badge/go-1.22.3+-00ADD8?logo=go)](https://golang.org/)\n[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux-lightgrey)](https://github.com/GianlucaP106/mynav#prerequisites)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)\n\n![MyNav Demo](https://github.com/user-attachments/assets/c2482080-6c1d-4fda-a3d5-e0ae6d8a916b)\n\n## Overview\n\nMyNav addresses the common challenge of managing multiple development projects in a terminal environment. While tmux provides excellent session management, it lacks robust workspace organization capabilities. MyNav bridges this gap by combining tmux's powerful features with an intuitive workspace management system, enabling developers to efficiently navigate between projects and maintain organized development workflows.\n\n## Features\n\n### 🏢 Workspace Management\n- **Topic-based organization**: Group related workspaces into logical topics\n- **Rapid workspace creation**: Quick setup and navigation between projects\n- **Filesystem-based storage**: Direct integration with your existing directory structure\n\n### 💻 Session Management\n- **Comprehensive session control**: Create, modify, delete, and enter sessions seamlessly\n- **Live session preview**: Real-time display of window and pane information\n- **Instant session switching**: Fast navigation between active development sessions\n\n### 🛠️ Developer Experience\n- **Fuzzy search**: Intelligent search across workspaces and sessions\n- **tmux integration**: Built on top of tmux for maximum compatibility\n- **Extensive shortcuts**: Comprehensive keyboard navigation and shortcuts\n- **Git awareness**: Integration with Git repositories and status\n- **Modern UI**: Clean, intuitive terminal interface inspired by Lazygit\n- **Vim-style navigation**: Familiar navigation patterns for power users\n\n## Installation\n\nInstall mynav with a single command:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/GianlucaP106/mynav/main/install.bash | bash\n```\n\n### Manual Installation\n\nFor users who prefer manual installation:\n\n```bash\n# Clone the repository\ngit clone https://github.com/GianlucaP106/mynav.git\n\n# Navigate to project directory\ncd mynav\n\n# Build the project\ngo build\n```\n\n### Prerequisites\n\n- **tmux 3.0+**: Required for session management\n- **Terminal**: UTF-8 support required for proper display\n\n## Usage\n\n### Getting Started\n\nMyNav operates within a designated root directory. You can initialize multiple independent directories, but nested configurations are not supported.\n\nLaunch MyNav from any location:\n\n```bash\nmynav\n```\n\n\u003e **Note**: MyNav automatically detects existing configurations in the current directory or any parent directory.\n\nSpecify a custom root directory:\n\n```bash\nmynav -path /your/root/path\n```\n\n### Navigation\n\nPress `?` within the interface to view all available keyboard shortcuts for your current context.\n\n## tmux Integration\n\nMyNav seamlessly integrates with **tmux** to provide robust session management. When creating a session from a workspace, MyNav uses the workspace's directory path as the tmux session name, maintaining transparency and familiarity.\n\n### Key Integration Features\n\n- **Full tmux compatibility**: All standard tmux features remain available\n- **Session detachment**: Press `Leader + D` to detach and return to MyNav\n- **State synchronization**: MyNav stays in sync with your development workflow\n\n## Keyboard Shortcuts\n\n### Navigation Controls\n\n| Key | Action | Context |\n|-----|--------|---------|\n| `h` / `←` | Focus left panel | Global |\n| `l` / `→` | Focus right panel | Global |\n| `j` / `↓` | Move down | List views |\n| `k` / `↑` | Move up | List views |\n| `Tab` | Toggle focus | Search dialog |\n| `Esc` | Close/cancel | Dialogs |\n\n### Action Commands\n\n| Key | Action | Context |\n|-----|--------|---------|\n| `Enter` | Open/select item | Global |\n| `a` | Create new topic/workspace | Topics/Workspaces view |\n| `D` | Delete item | Topics/Workspaces/Sessions view |\n| `r` | Rename item | Topics/Workspaces view |\n| `X` | Kill session | Workspaces/Sessions view |\n| `s` | Search workspaces | Global |\n| `?` | Toggle help menu | Global |\n| `q` | Quit application | Global |\n| `\u003c` | Cycle preview left | Global |\n| `\u003e` | Cycle preview right | Global |\n| `Ctrl+C` | Quit application | Global |\n\n## Configuration\n\nMyNav employs a flexible configuration system designed for multi-project development:\n\n- **Multiple workspace support**: Initialize independent workspaces in different directories\n- **Automatic configuration detection**: Searches current and parent directories for existing configurations\n- **Non-nested architecture**: Nested configurations are not allowed; MyNav will use the parent configuration\n- **Home directory protection**: The home directory cannot be initialized as a MyNav workspace\n\n## Development\n\n### Environment Setup\n\nMyNav is designed for minimal configuration requirements. To begin development:\n\n1. Ensure Go runtime is installed\n2. Clone the repository\n3. Run `go build` to compile\n\nThe project structure is straightforward and requires no additional dependencies beyond the Go standard library.\n\n## Contributing\n\nWe welcome contributions from the community! Please ensure your commits follow the [Conventional Commits](https://www.conventionalcommits.org/) specification.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for complete details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n[⭐ Star on GitHub](https://github.com/GianlucaP106/mynav/stargazers) • [📫 Report Bug](https://github.com/GianlucaP106/mynav/issues) • [💬 Discussions](https://github.com/GianlucaP106/mynav/discussions)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGianlucaP106%2Fmynav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGianlucaP106%2Fmynav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGianlucaP106%2Fmynav/lists"}