skfld is a little tool to help you manage all your dev runners.
If you spin up multiple development instances for your projects, and you find yourself losing track of all the different things you need to start for full local development build, this might be for you.
Here's an example yaml:
services:
api:
directory: "api"
dev:
runner: "poetry"
command: "poetry run uvicorn 'api.main:app' --reload --log-level debug --reload-dir 'api'"
website:
directory: "website"
dev:
runner: "npm"
command: "npm run dev -- --port 3050"For now, you'll need to clone this repository, and install it via pipx install .
You can also use pip but pipx prevents you from experiencing dependency hell.
Your bare minimum skfld.yaml is:
services:Each service entry supports the following keys.
directorydevrunner- This basically tells the command which installation process to run. Supportspoetryornpminstall_command- You need to specify either this or runner.command- The command to start the dev service.
You'll need to define a skfld.yaml file first. Then you can just run it with:
skfld run dev
Ctrl-T [0-9]switches your pane to the specified number.Ctrl-T [left/right arrow]switches your pane to the one left or right of the current pane.Ctrl-Qexits the tool.
- Scrolling! This isn't supported yet.
- Resizing support
- Custom multi-pane layouts
- Spinning up backing services for development
- Templating docker-compose.yml files for production deployments. Who doesn't want an abstraction for their abstraction?
PRs welcome.