mirror of https://github.com/xrehpicx/pee.git
Update readme.md
This commit is contained in:
parent
01e0f46614
commit
221b199a1d
76
readme.md
76
readme.md
|
@ -2,3 +2,79 @@
|
||||||
|
|
||||||
Project Environment Executor, Define your project workspace as code and config.
|
Project Environment Executor, Define your project workspace as code and config.
|
||||||
|
|
||||||
|
## Usecase
|
||||||
|
Creating a tmux session from a config file, this includes setting up working directories, setting up dev servers, and opening editors.
|
||||||
|
|
||||||
|
### Get Started
|
||||||
|
|
||||||
|
![Screen Recording 2023-10-22 at 2 11 11 PM](https://github.com/xrehpicx/pee/assets/22765674/b355da63-1e2d-4833-8300-1bd879e2245f)
|
||||||
|
|
||||||
|
#### Installation
|
||||||
|
```bash
|
||||||
|
go install github.com/xrehpicx/pee@latest
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Initialize a project
|
||||||
|
```bash
|
||||||
|
pee init myproject
|
||||||
|
```
|
||||||
|
Select a directory from the file picker by `<space>`, the directory that the init is run in will be the default starting directory for the file picker, you can go up and down directories by `<backspace>` and `<enter>`
|
||||||
|
|
||||||
|
#### Configure project
|
||||||
|
Config is similar to [tmuxinator](https://github.com/tmuxinator/tmuxinator)
|
||||||
|
```yml
|
||||||
|
name: ppec-ui
|
||||||
|
editor: nvim
|
||||||
|
root: /Users/raj.sharma/Documents/GitHub/ppec-ui
|
||||||
|
windows:
|
||||||
|
- window_name: editor
|
||||||
|
layout: 8070,202x58,0,0[202x46,0,0,89,202x11,0,47,92]
|
||||||
|
panes:
|
||||||
|
- shell_command:
|
||||||
|
- nvim "+SessionManager load_current_dir_session"
|
||||||
|
- shell_command:
|
||||||
|
- echo 'npm run dev'
|
||||||
|
- window_name: hosts
|
||||||
|
layout: even-horizontal
|
||||||
|
shell_command_before:
|
||||||
|
- cd somewhere && activate env
|
||||||
|
panes:
|
||||||
|
- shell_command:
|
||||||
|
- ssh stg-host1
|
||||||
|
- shell_command:
|
||||||
|
- ssh stg-host2
|
||||||
|
- window_name: git
|
||||||
|
panes:
|
||||||
|
- shell_command:
|
||||||
|
- lazygit
|
||||||
|
lastopened: 2023-10-22T14:03:54.071678+05:30
|
||||||
|
attach: true
|
||||||
|
```
|
||||||
|
editor here is used as the default editor for editing the config file.
|
||||||
|
`note: attach here does not tmux attach the new session, instead uses tmux switch-client for faster switching.`
|
||||||
|
|
||||||
|
#### Run a project
|
||||||
|
For this example we have a project called ppec with the above config
|
||||||
|
```bash
|
||||||
|
pee ppec
|
||||||
|
```
|
||||||
|
and this should open up ppec tmux session
|
||||||
|
|
||||||
|
#### Edit or Run from list
|
||||||
|
![Screen Recording 2023-10-22 at 2 12 41 PM](https://github.com/xrehpicx/pee/assets/22765674/f8bb6c1d-1a68-4194-8c4c-62ff4856cd2c)
|
||||||
|
|
||||||
|
You can also run
|
||||||
|
```bash
|
||||||
|
pee ls
|
||||||
|
```
|
||||||
|
and select the project from table and click `<enter>` to open/create the session or `<e>` to edit the config of the project
|
||||||
|
|
||||||
|
### Roadmap
|
||||||
|
1. Supporting iTerm2
|
||||||
|
As of now this supports only tmux windows and panes, would want to add support for iterm and other terminals if they have api's to do so.
|
||||||
|
2. Ability to save an opened session into a config or update a config
|
||||||
|
3. Ability to save custom layouts as named layouts that can be used across multiple projects
|
||||||
|
|
||||||
|
---
|
||||||
|
All contributions are welcome
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue