Giter Site home page Giter Site logo

pak's Introduction

pak

Command line tool for managing custom scripts


Purpose

pak is meant to make scripting easier. currently, it supports quick bash script creation with Atom, but the idea is to make scripting easier. paks today are great for build scripts, it's a snappy commmandline tool to glue together a simple workflow. future development will be towards a core API with various language wrappers (starting with js). the end goal is a highly-intuitive UX towards building powerful, complex, and shareable automation

Install instructions

cd [path/to/pak/]
sudo ./pakBuild

Usage

pak               | lists your paks
pak -b <pak name> | builds a new pak and puts it in your path
pak -r <pak name> | removes a pak
pak -o <pak name> | opens an existing pak in vim
pak -l            | lists your paks
pak -h            | pak help page

PRs welcome!

pak's People

Contributors

tburnam avatar

Stargazers

SansGuidon avatar Yogesh avatar Wian Vos avatar Dominik Kukacka avatar Jason P. Scharf avatar  avatar Casey Weed avatar Rick Vause avatar Paul Schaefer avatar Scott Hatcher avatar Jerzerak avatar Julio Turolla avatar  avatar

Watchers

James Cloos avatar J. D. Gambín avatar  avatar  avatar

pak's Issues

pakBuild verify pak file

Maybe pakBuild should pull pak directly from the repo. Alternatively, we can check the pak file to verify it is a valid pak file before completing the build process.

Format list

On pak -l, the list formatting could be better

Auto-completion for commands

When a user types pak -r or pak -o, when they press tab it would be nice if bash autocompleted the contents of /pakScripts instead of content in current directory

[FEATURE REQUEST] Add PAK local detach

pak local detatchs

Adds way to detach a pak from the global pakScripts directory into the current working directory. This will faciliate speed of development/debug of build scripts in larger projects.

Usage

$ pak detatch <name>

Implementation

  • removes pak <name> from the $PATH
  • copies pak <name> from /usr/local/bin to ./ (current directory)

Support multiple removes

On pack -r <arg>, only one argument is currently accepted/deleted. This flag should take N arguments and delete all N (if it runs into an error, skip and delete the rest and then let the user know)

Online directory

Need a way to store/retrieve paks from a central repository. This is essential for v.1.0.0. Similar to npm

[ERROR] pak <name> opens Pack Atom View (PAV) in the pakScripts, not in $PATH

Reproduction steps:

$ pak <name>

pak then:

  • Builds executable bash <name> file in /pakScripts
  • Opens executable bash <name> in PAV
  • Copies executable bash <name> file to /usr/local/bin

But when changes are made on the PAV, they don't update the $PATH's executable.

Solution

There should be a dual persistence here in order to facilitate training environment for feature futures.

For now:
a.) Write a utility script in /pakScripts that updates the executable in /usr/local/bin

[Feature Request] pak last [-p] <name>

A command that by by default adds the previous terminal command to a pak with

-p option allows for previous commands to wrap up sequentially in a pak with name

Must have

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.