Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

skfld

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.

Configuring

Your bare minimum skfld.yaml is:

services:

Each service entry supports the following keys.

  • directory
  • dev
    • runner - This basically tells the command which installation process to run. Supports poetry or npm
    • install_command - You need to specify either this or runner.
    • command - The command to start the dev service.

Running skfld

You'll need to define a skfld.yaml file first. Then you can just run it with:

skfld run dev

Key bindings

  • 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-Q exits the tool.

Future Goals

  • 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.

About

A tool that allows you to run multiple development instances with one command.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages