Frictionless way of managing project-specific commands


1build


1build Version Awesome License Build Status Go Report Card


1build is an automation tool used for research and development projects that arms you with the convenience to configure project-local command line aliases – and then run the commands quickly and easily. It is particularly helpful when you deal with multiple projects and switch between them all the time. It is often the fact that different projects use different build tools and have different environment requirements – and then switching from one project to another is becoming increasingly cumbersome. That is where 1build comes into play.

With 1build you can create simple and easily memorable command aliases for commonly used project commands such as build, test, run or anything else. These aliases will have a project-local scope which means that they will be accessible only within the project directory. This way you can unify all your projects to build with the same simple command disregarding of what build tool they use. It will remove the hassle of remembering all those commands improving the mental focus for the things that actually matter.

Install

Homebrew

brew install gopinath-langote/one-build/one-build

Manual

  1. Download and install binary from the latest release
  2. Recommended: add 1build executable to your $PATH.

Usage

Configuration

  • Create 1build.yaml configuration file by

    1build init --name <your_project_name>
  • Edit file according to project command list, Example of 1build.yaml for node project:

    project: Sample Web App
    commands:
      - build: npm run build
      - test: npm run test

Running 1build for the above sample project

  • building the project
  1build build
  • fix the coding guidelines lint and run tests (executing more than one commands at once)
  1build lint test

Set new or update existing configuration

  • Set new command configuration for lint to "eslint server.js"
   1build set lint "eslint server.js"

Remove/Unset existing configuration

  • Unset command configuration for lint
   1build unset lint
  • To unset multiple commands at once
  1build unset lint test build

Using before and after commands

Consider that your project requires some environment variables to set before running any commands and you want to clean up those after running commands. It is a headache to always remember to set those environment variables. What you want is to set env variables automatically when you run the command in the project and remove those when the command is complete. Another example – a project requires Docker to be up and running or you need to clean up the database after running a test harness.

This is where before & after commands are useful. These commands are both optional –  you can use one of them, both or neither.

Examples

  1. Setting env variables and cleaning those up

    1build set before 'export VARNAME="my value"'
    1build set after "unset VARNAME"

    Configuration with before and after setup

    project: Sample Web App
    before: export VARNAME="my value"
    after: unset VARNAME
    commands:
       - build: npm run build
  2. Ensure that Docker is up and running

    1build set before "./docker_run.sh"
  3. Clean up database after some commands

    1build set after "./clean_database.sh"
  4. Remove before and after commands

    1build unset before after

Using --quiet or -q flag

Sometimes you choose to not see all logs/output of your command and just see success or failure as the outcome. So using --quiet or -q flag to 1build command execution will result in just executing the command but not showing the entire output of it, only shows SUCCESS/FAILURE as result of command execution.

  1build lint test --quiet

OR

  1build lint test -q

See 1build --help for command usages.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use Semantic Versioning for all our releases. For the versions available, see the tags on this repository.

Changelog

All notable changes to this project in each release will be documented in Releases Page.

The format is based on Keep a Changelog.

License

This project is licensed under the MIT License - see the LICENSE file for details

Contributors

Sponsors

1build 1build
Owner
Gopinath Langote
Engineering, Poetry, Swimming, Travel - to get energy for doing all above, I drink coffee ☕️
Gopinath Langote
Comments
  • Add --quiet / -q flag to command execution

    Add --quiet / -q flag to command execution

    Description

    Sometimes developers choose to not see all logs/output of your command and just see success or failure as the outcome. Hence adding --quite or -q flag to 1build command execution will result in just executing the command but not showing the entire output of it.

    Acceptance Criteria

    • Ability to pass quiet or -q flag to command execution. ex - bash 1build test --quiet 1build test -q
    • If flag present - then just print SUCCESS (if exit code of the command is 0)
    • If exit code is not zero - print FAILURE with exit code
  • Execute 1build from specified configuration file

    Execute 1build from specified configuration file

    Description

    Currently1build only allows executing commands from the current directory. Sometimes developers have to switch the directory to execute any command. Allowing the user to execute a command from specified will help to reduce the two steps.

    Flag

    -f
    --file
    

    Acceptance Criteria

    1. Root/Exec/Set/Unset Command
    - Given a configuration file to execute a command from with flag `-f file_name`, 1build should execute a command from that.
    - If no file specified 1build will execute continue to run with the current directory file
    - If a specified file with `-f` not present - 1build should give an error
    
    1. List Command
    - Given a configuration file to execute a command from with flag `-f file_name`, 1build should list commands from that.
    - If no file specified 1build will execute continue to list from the current directory file
    - If a specified file with `-f` not present - 1build should give an error
    
    1. Delete Command
    • Init will not have -f flag/option. As it doesn't make sense to delete the file using one build instead developer can delete it by rm.
    1. Init Command
    • Init will not have -f flag/option.

    Out of scope

    • Accepting files with a name other than 1build.yaml

    Example

        1build -f ~/some_project/1build.yaml test
        1build -f ~/some_project/1build.yaml set cmd "some command"
        1build -f ~/some_project/1build.yaml unset cmd 
        1build -f ~/some_project/1build.yaml list
    
  • Set/Unset Before/After steps

    Set/Unset Before/After steps

    Description

    Ability to modify before/after steps through the CLI

    Fixes/Implements: #166

    Checklist

    • [✅] I have added tests that prove my fix is effective or that my feature works
    • [✅] I have update README (If needed)
  • Print total results banner at the end of execution

    Print total results banner at the end of execution

    Description

    Simple results banner which is printed at the end

    Fixes/Implements: # (issue)

    This commit resolves #155

    New dependencies introduced?

    no

    Checklist:

    • [ x ] I have added tests that prove my fix is effective or that my feature works
    • [ x ] I have update README (If needed)
  • Bump github.com/spf13/pflag from 1.0.3 to 1.0.5

    Bump github.com/spf13/pflag from 1.0.3 to 1.0.5

    Bumps github.com/spf13/pflag from 1.0.3 to 1.0.5.

    Release notes

    Sourced from github.com/spf13/pflag's releases.

    1.0.5

    No release notes provided.

    v1.0.5-rc1

    This hopefully fixes #218, and will be promoted when the fix has been verified.

    1.0.4

    No release notes provided.

    Commits
    • 2e9d26c Merge pull request #219 from cfromknecht/fix-mod
    • 14457a6 Remove require pflag v1.0.3
    • e8f2996 Fix typo in go.mod
    • 7b22f68 Merge pull request #216 from therealmitchconnors/elegant
    • 8e39cc4 gofmt
    • 68f4136 Add SliceValue Comments
    • b22fc70 Expand SliceValue support to all slice and array types.
    • c6c0f0f Add first SliceValue implementations
    • 9722382 Added String-To-Int64 option parsing (#211)
    • 6d93a82 Merge pull request #201 from Fedosin/fix_descriptions
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

  • Feature/flag quiet

    Feature/flag quiet

    Description

    Sometimes developers choose to not see all logs/output of your command and just see success or failure as the outcome. Hence adding --quiet or -q flag to 1build command execution will result in just executing the command but not showing the entire output of it.

    Fixes/Implements: #140

    New dependencies introduced

    • Viper Reason: Viper has the ability to bind to flags. To bind flag --quiet flag throughout project(particularly exec.go)

    Checklist

    • [N] I have added tests that prove my fix is effective or that my feature works
    • [Y] I have update README (If needed)
  • Unset multiple commands at once

    Unset multiple commands at once

    Description

    This PR implements the functionality to unset multiple commands in a single call.

    Any failures encountered during the process will be printed but does not stop the operation.

    Fixes/Implements: # (issue)

    #141

    New dependencies introduced?

    N.A.

    Checklist:

    • [x] I have added tests that prove my fix is effective or that my feature works
    • [x] I have updated the changelog draft for corresponding release
    • [x] I have update README (If needed)
  • Unset multiple command in one go

    Unset multiple command in one go

    Description

    Current version support unset one command like 1build unset test. If developer has to remove multiple commands they have to run 1build unset multiple times.

    Instead With 1build unset a b c -> It will be easy to remove three commands in one go.

    Acceptance Criteria

    • Ability to pass multiple commands to unset
    • unset will continue removing next command even after the failure of one
    • unset will print if any command failed to remove
  • Fix failed command execution message

    Fix failed command execution message

    Description

    Failed to execute 'mvn clean verify'

    it is not failed to execute it is that this command was executed and failed

    Acceptance Criteria

    • the message says exactly what happened – e.g. : Command * failed – execution of the following commands skipped: *
    • Specify exit-code of command in message
  • #96 Preliminary command completion

    #96 Preliminary command completion

    Description

    To add command completion for bash.

    Fixes/Implements: #96

    Checklist:

    • [ ] My code follows the style guidelines – pep8 of this project
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] I have updated the changelog draft for corresponding release
    • [ ] I have update README (If needed)
  • Provide guidance to create configuration file

    Provide guidance to create configuration file

    Display guiding messages on

    • pip installation finished
    • 1build is ran and configuration file does not exist

    Provide a simple example of configuration file so that the user does not have to to README

  • Bump github.com/spf13/viper from 1.4.0 to 1.14.0

    Bump github.com/spf13/viper from 1.4.0 to 1.14.0

    Bumps github.com/spf13/viper from 1.4.0 to 1.14.0.

    Release notes

    Sourced from github.com/spf13/viper's releases.

    v1.14.0

    What's Changed

    Enhancements 🚀

    Breaking Changes 🛠

    Dependency Updates ⬆️

    Full Changelog: https://github.com/spf13/viper/compare/v1.13.0...v1.14.0

    v1.13.0

    Important: This is the last release supporting Go 1.15.

    What's Changed

    Exciting New Features 🎉

    Enhancements 🚀

    Bug Fixes 🐛

    Dependency Updates ⬆️

    New Contributors

    ... (truncated)

    Commits
    • b89e554 chore: update crypt
    • db9f89a chore: disable watch on appengine
    • 4b8d148 refactor: use new Has fsnotify method for event matching
    • 2e99a57 refactor: rename watch file to unsupported
    • dcb7f30 feat: fix compilation for all platforms unsupported by fsnotify
    • 2e04739 ci: drop dedicated wasm build
    • b2234f2 ci: add build for aix
    • 52009d3 feat: disable watcher on aix
    • b274f63 build(deps): bump github.com/fsnotify/fsnotify from 1.5.4 to 1.6.0
    • 7c62cfd build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/spf13/cobra from 0.0.6 to 1.6.1

    Bump github.com/spf13/cobra from 0.0.6 to 1.6.1

    Bumps github.com/spf13/cobra from 0.0.6 to 1.6.1.

    Release notes

    Sourced from github.com/spf13/cobra's releases.

    v1.6.1

    Bug fixes 🐛

    • Fixes a panic when AddGroup isn't called before AddCommand(my-sub-command) is executed. This can happen within more complex cobra file structures that have many different inits to be executed. Now, the check for groups has been moved to ExecuteC and provides more flexibility when working with grouped commands - @​marckhouzam (and shout out to @​aawsome, @​andig and @​KINGSABRI for a deep investigation into this! 👏🏼)

    v1.6.0

    Summer 2022 Release

    Some exciting changes make their way to Cobra! Command completions continue to get better and better (including adding --help and --version automatic flags to the completions list). Grouping is now possible in your help output as well! And you can now use the OnFinalize method to cleanup things when all "work" is done. Checkout the full changelog below:


    Features 🌠

    Deprecation 👎🏼

    • ExactValidArgs is deprecated (but not being removed entirely). This is abit nuanced, so checkout #1643 for further information and the updated user_guide.md on how this may affect you (and how you can take advantage of the correct behavior in the validators): @​umarcor #1643

    Bug fixes 🐛

    Dependencies 🗳️

    Testing 🤔

    Docs ✏️

    Misc 💭

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/stretchr/testify from 1.4.0 to 1.8.1

    Bump github.com/stretchr/testify from 1.4.0 to 1.8.1

    Bumps github.com/stretchr/testify from 1.4.0 to 1.8.1.

    Release notes

    Sourced from github.com/stretchr/testify's releases.

    Minor improvements and bug fixes

    Minor feature improvements and bug fixes

    Fixes breaking change with HTTPBodyContains

    A breaking change was accidentally released in v1.6.0 which breaks the API for the HTTPBodyContains and HTTPBodyNotContains, this release reverts that change.

    v1.6.0

    Latest release of testify. This includes many fixes and enhancements. Please view the v1.6.0 milestone for a list of changes.

    HOTFIX: Revert suite interface type

    This is a hotfix which reverts the suite package's interface type to use testing.T

    v1.5.0

    Latest, non-breaking changes merged into master. Please peruse the git log for a detailed changelist

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/spf13/viper from 1.4.0 to 1.7.1

    Bump github.com/spf13/viper from 1.4.0 to 1.7.1

    ⚠️ Dependabot Preview has been deactivated ⚠️

    This pull request was created by Dependabot Preview, and you've upgraded to Dependabot. This means it won't respond to dependabot commands nor will it be automatically closed if a new version is found.

    If you close this pull request, Dependabot will re-create it the next time it checks for updates and everything will work as expected.


    Bumps github.com/spf13/viper from 1.4.0 to 1.7.1.

    Release notes

    Sourced from github.com/spf13/viper's releases.

    v1.7.1

    This release contains a bugfix for environment variable expansion. See #495 and #940 for details.

    v1.7.0

    This release mostly contains bug and security fixes, but there are a few new features as well:

    v1.6.3

    Fixes uninstallable library on clean GOPATH

    Fix extensionless config lookup

    This is a patch release fixing a(n edge case) bug introduced in v1.6.0

    See #818 and #827 for details

    Fix config path lookup

    This is a patch release fixing a bug introduced in v1.6.0

    v1.6.0

    Changes

    Added

    • Global UnmarshalExact method
    • StringReplacer interface for custom environment key replacing logic
    • GolangCI Lint
    • INI support
    • Key delimiter made configurable
    • Support for config files without extensions

    Changed

    • Moved to GitHub actions build from Travis

    Fixed

    • IsSet no longer returns true when an unset key has a flags bound
    • SafeWriteConfigAs works as expected

    Happy Holidays!

    v1.5.0

    Documentation and other fixes

    Commits
    • 3826be3 Simplify $HOME prefix check
    • ce53404 Fix environment variable expansion in absPathify
    • 13494e8 Skipping error != nil checks in favor of the fast return.
    • 13df721 Add Go 1.14 to build targets
    • 3856c05 Fix: Getting the value of a StringToString pflag (#874)
    • c6ee980 fix_ini_save_error
    • c42a305 Update gorilla dependency (#899)
    • e34fb51 Add mentioned in awesome badge
    • 7eea371 Remove go version badge
    • aa8e4d4 Update badges and logo
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • `before` and `after` life cycle hooks per each command

    `before` and `after` life cycle hooks per each command

    Description

    Currently, we have before and after life cycle hooks that get executed before and after all the specified commands are executed. However, In some scenarios, it might be the case that we also need more granular life cycle hooks within the scope of a single command.

    project: Sample Web App
    before: export VARNAME="my value"
    after: unset VARNAME
    commands:
       - build: 
            before: echo "before"
            command: npm run build
            after: echo "after"
    

    Acceptance Criteria

    • User should be able to define before and after for each individual command
    • Should be able to disable global before and after for an individual command
  • Feature/1build-file-flag

    Feature/1build-file-flag

    Relative Tickets:

    https://github.com/gopinath-langote/1build/issues/192

    1. Implement base logic for all sub commands to use -f / --f (file flag).
    2. Add to current execution logic; changes directory during 1build exec actions.
    3. Removed short-hand force flag for 'delete' (-f) as it conflicts with global (-f/--f) for new file flag.
Example-go-install - A package aims to demonstrate how libraries / commands should be organized in a go package

Example-go-install - A package aims to demonstrate how libraries / commands should be organized in a go package

Jan 27, 2022
An experimental way to apply patches to the Go runtime at build time.

go-patch-overlay An experimental way to apply patches to the Go runtime at build time. Assuming you have a directory of patches to apply to the Go sou

Oct 31, 2022
Eget is the best way to easily get pre-built binaries for your favorite tools.
Eget is the best way to easily get pre-built binaries for your favorite tools.

Eget: easy pre-built binary installation Eget is the best way to easily get pre-built binaries for your favorite tools. It downloads and extracts pre-

Dec 27, 2022
Builds and restarts a Go project when it crashes or some watched file changes
Builds and restarts a Go project when it crashes or some watched file changes

gaper Used to build and restart a Go project when it crashes or some watched file changes Aimed to be used in development only. Changelog See Releases

Dec 30, 2022
🚀 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file.
🚀 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file.

gowatch 中文文档 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file. Installation To insta

Dec 30, 2022
Moldy CLI the best project starter and manager of the world
Moldy CLI the best project starter and manager of the world

Moldy The best project starter of the world ?? What is Moldy ? Hey I present Moldy this beautiful tool that will solve your life in creating, managing

Oct 17, 2022
painless task queue manager for shell commands with an intuitive cli interface (execute shell commands in distributed cloud-native queue manager).

EXEQ DOCS STILL IN PROGRESS. Execute shell commands in queues via cli or http interface. Features Simple intuitive tiny cli app. Modular queue backend

Dec 14, 2022
Go package exposing a simple interface for executing commands, enabling easy mocking and wrapping of executed commands.

go-runner Go package exposing a simple interface for executing commands, enabling easy mocking and wrapping of executed commands. The Runner interface

Oct 18, 2022
A command line utility for generating language-specific project structure.
A command line utility for generating language-specific project structure.

hydra hydra is a command line utility for generating language-specific project structures. ⏬ ✨ Features Build project templates with just one command

Oct 8, 2021
easy way to distribute commands over ssh.

grapes grapes is lightweight tool designed to distribute commands over ssh with ease. Update (25/04/2019) Handshake validation is now in place in orde

Dec 20, 2022
🏃‍♂️ A new way to execute commands and manipulate command output in Go

??‍♂️ A new way to execute commands and manipulate command output in Go

Nov 11, 2022
skr: The lightweight and powerful web framework using the new way for Go.Another go the way.
skr: The lightweight and powerful web framework using the new way for Go.Another go the way.

skr Overview Introduction Documents Features Install Quickstart Releases Todo Pull Request Issues Thanks Introduction The lightweight and powerful web

Jan 11, 2022
Simple DB using yaml. A project for managing the content of yaml files.

DB Yaml Simple DB using yaml. A project for managing the content of yaml files. Table of Contents DB Yaml Features Usage Write to DB Query DB Get Firs

Dec 27, 2022
An open-source project for managing OpenStack resources and OpenStack infrastructure in a Kubernetes cluster

kupenStack Kubernetes-Native OpenStack A Sandbox Project. Have you used OpenStack before? If so, then for you KupenStack is magic ✨ that lets you use

Nov 11, 2021
A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.

Cron.go This is a simple library to handle scheduled tasks. Tasks can be run in a minimum delay of once a second--for which Cron isn't actually design

Dec 17, 2022
A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.

Cron.go This is a simple library to handle scheduled tasks. Tasks can be run in a minimum delay of once a second--for which Cron isn't actually design

Dec 17, 2022
A reference for the Go community that covers the fundamentals of writing clean code and discusses concrete refactoring examples specific to Go.

A reference for the Go community that covers the fundamentals of writing clean code and discusses concrete refactoring examples specific to Go.

Jan 1, 2023
A tools to find the path of a specific key in deep nested JSON.
A tools to find the path of a specific key in deep nested JSON.

如何快速从深层嵌套 JSON 中找到特定的 Key #公众号 在爬虫开发的过程中,我们经常遇到一些 Ajax 加载的接口会返回 JSON 数据。

Dec 13, 2022
Beagle is a CLI written in Go to search for an specific username across the Internet.

Beagle __ \,--------/_/'--o Use beagle with /_ ___ /~" responsibility. /_/_/ /_/_/ ^^^^^^^^^^^^^^^^^^ Beagle is a CLI w

Nov 16, 2022