fw
cargo install fw

fw

workspace productivity booster

by brocode

2.6.0 (see all)License:WTFPL
cargo install fw
Readme

[[./logo/fw_rgb.png]]

* fw
[[https://travis-ci.org/brocode/fw\]\[file:https://travis-ci.org/brocode/fw.svg?branch=master\]\]
[[https://crates.io/crates/fw\]\[file:https://img.shields.io/crates/v/fw.svg\]\]
[[https://ci.appveyor.com/project/bomgar/fw/branch/master\]\[Appveyor\]\]

[[https://asciinema.org/a/222856\]\[https://asciinema.org/a/222856.png\]\]

** Why fw?
With ~fw~ you have a configuration describing your workspace. It
takes care of cloning projects and can run commands across your
entire workspace. You can start working on any project quickly,
even if it's not in your flat structured workspace (better than
~CDPATH~!). It also "sets up" your environment when you start
working on a project (compile stuff, run ~make~, activate ~virtualenv~
or ~nvm~, fire up ~sbt~ shell, etc.)

[[doc/example_config][Here's]] an example configuration that should be easy to grasp. The
default configuration location is =~/.config/fw=, and can be
overridden by ~FW_CONFIG_DIR~.

Per default projects are cloned into
~${settings.workspace}/${project.name}~ but you can override that by
setting an ~override_path~ attribute as seen in the example
configuration.

** What this is, and isn't
~fw~ is a tool I wrote to do my bidding. It might not work for you if your workflow differs a lot from mine or might require adjustments.
Here are the assumptions:

- only git repositories
- only ssh clone (easily resolveable by putting more work in the git2 bindings usage)
- ~ssh-agent~ based authentication

*** If you can live with all of the above, you get:
- workspace persistence (I can ~rm -rf~ my entire workspace and have it back in a few minutes)
- ZERO overhead project switching with the ~workon~ function (need to activate ~nvm~? Run ~sbt~? Set LCD brightness to 100%? ~fw~ will do all that for you)
- zsh completions on the project names for ~workon~
- generate projectile configuration for all your project (no need to ~projectile-add-known-project~ every time you clone some shit, it will just work)

** [[doc/installation.org][Installation]]
** [[doc/usage.org][Usage]]

GitHub Stars

304

LAST COMMIT

8mos ago

MAINTAINERS

2

CONTRIBUTORS

22

OPEN ISSUES

6

OPEN PRs

0
VersionTagPublished
2.6.0
2yrs ago
2.5.0
2yrs ago
2.4.1
2yrs ago
2.4.0
2yrs ago
No alternatives found
No tutorials found
Add a tutorial