Skip to content
For the lazy developer
Go Shell Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd/sdf
internal
scripts
.gitignore
.release.yml
.travis.yml
CHANGELOG.md
LICENSE
Makefile
README.md
go.mod
go.sum
main.go

README.md

SDF

Build status Release Maintained License Coffee

I wrote sdf because I wanted my project structure to be organized. But setting this up for every repository, and navigating to the correct directory felt too much work.

More lazy development tools are being added as they are needed.

Installation

brew install nousefreak/brew/sdf

Because sdf needs to be able to do some bash magic, it will need to wrapper. Run the following once to complete the installation.

sdf setup

Once this is done, reload your session and you are good to go.

Commands

cd

Change to a directory using fuzzy search.

sdf cd g/nuf/sdf
# will cd to ~/Projects/src/github.com/NoUseFreak/sdf

clone

Clone a project into the project structure.

sdf clone g/NoUseFreak/sdf
# Will clone and cd to ~/Projects/src/github.com/NoUseFreak/sdf

env

Manage environment variables your don't want to save in your projects.

  • cat Print a set
  • edit Edit an existing set
  • list List all available sets
  • new Create a new set
  • rm Remove a set
  • use Exports a set to the current session
sdf env new myproject
# Will prompt an editor to let you set KEY=value environment variables
sdf env use myproject
# Will export any vars defined above.

short

Create custom short commands.

  • new Create a new short command
  • list List all shorts
sdf short new test "ls /tmp"
# Will create a short called test
sdf test
# Will execute 'ls /tmp'

wdid

Query all your repositories to see a what did I do report.

sdf wdid 1 day

Configuration

After setup, you will have a ~/.sdf/main.yml file, this contains some settings that can tailor the sdf commands to your way of working.

  • profile Profile name if you want more profiles (default: main).
  • projectdir Root of all projects.
  • default_namespace Default path if cd does not find one match.
You can’t perform that action at this time.