A command line utility for generating language-specific project structure.

hydra

hydra is a command line utility for generating language-specific project structures.

python-init

python-dir


Features

  • Build project templates with just one command
  • Support for six different licenses
  • Language-specific .gitignore file
  • Configure default language and default license to work with
  • Fast and reliable

⚡️ Installation

Method 1

For Linux users:

Execute the following command in bash:

curl https://raw.githubusercontent.com/Shravan-1908/hydra/main/linux_install.sh | sudo bash -

For MacOS users:

Execute the following command in bash:

curl https://raw.githubusercontent.com/Shravan-1908/hydra/main/macos_install.sh | sudo bash -

For Windows users:

Open Powershell as Admin and execute the following command:

Set-ExecutionPolicy Bypass -Scope Process -Force; (Invoke-WebRequest -Uri https://raw.githubusercontent.com/Shravan-1908/hydra/main/windows_install.ps1 -UseBasicParsing).Content | powershell -

To verify the installation of hydra, open a new shell and execute hydra -v. You should see output like this:

hydra 2.2.0

Version: 2.2.0

If the output isn't something like this, you need to repeat the above steps carefully.

Method 2

If you've Go installed on your system, execute:

go get github.com/Shravan-1908/hydra

You don't need to change the PATH variable in this case, as Go will automatically build and add the executable in the $GOPATH/bin directory.


💡 Usage

This section shows how you can use hydra.

config

The config command is used to set or alter the hydra user configurations.

$ hydra config {flags}

The valid flags for config command are:

  • name --> The name of the user. It is used as the name of the copyright holder in the LICENSE file.

  • github-username --> The Github username of the user. It is used to initiate the modules in go.

  • default-lang --> The default language for project initialisation. It is used in case the lang argument is not provided in the init command. Valid options for the default-lang flag are:

    • go
    • python
    • web
    • flask
    • c
    • c++
    • ruby
  • default-license --> The default license for project creation. Valid values are:

    • MIT
    • GPL
    • BSD
    • APACHE
    • EPL
    • MPL
    • UNI

Once hydra is installed, it is advised to run the following command to complete the configuration.

$ hydra config --name "YOUR NAME" --github-username "YOUR GITHUB USERNAME"

list

The list command is used to list supported languages, licenses and the hydra user configurations.

$ hydra list <item>

Valid options for the item argument are:

  • langs --> Languages supported by hydra
  • licenses --> Licenses supported by hydra
  • configs --> The hydra user configurations

Example: hydra list langs

init

To create a new project structure using hydra, execute:

$ hydra init <project name> [lang]

The init command initialises the project.

Valid options for the language argument are:

  • python
  • go
  • web
  • flask
  • c
  • c++
  • ruby

Example: hydra init myProject python

In case the lang argument is not provided, hydra falls back to the default-lang configuration.

version

$ hydra version

The version command shows the version of hydra installed.

help

$ hydra help

Renders assistance for hydra on a terminal, briefly showing its usage.


Change Log

The changes made in the latest version of hydra, v2.2.0 are:

  • Added flask (python web framework), C, C++, and ruby as language types for project initialisation
  • Improved web initialisation
  • Added support for Unilicense
  • Changed the hydra config directory

View CHANGELOG.md for more information.


🔖 Versioning

hydra releases follow semantic versioning, every release is in the x.y.z form, where:

  • x is the MAJOR version and is incremented when a backwards incompatible change to hydra is made.
  • y is the MINOR version and is incremented when a backwards compatible change to hydra is made, like changing dependencies or adding a new function, method, struct field, or type.
  • z is the PATCH version and is incremented after making minor changes that don't affect hydra's public API or dependencies, like fixing a bug.

📄 License

License © 2021-Present Shravan Asati

This repository is licensed under the MIT license. See LICENSE for details.


👥 Contribution

Pull requests are more than welcome. For more information on how to contribute to hydra, refer CONTRIBUTING.md.

Owner
Shravan
A high school student passionate about programming!
Shravan
Similar Resources

Aces is a command line utility that lets you encode any file to a character set of your choice.

Aces Any Character Encoding Set Aces is a command line utility that lets you encode any file to a character set of your choice. For example, you could

Nov 28, 2022

📈 A command-line utility to interact with TradingView

tvctl 📈 A command-line utility to interact with TradingView. This utility aims to improve usability of tedius and repetative tasks, such as watchlist

Oct 18, 2022

ls Xtended : A command line utility which lets you navigate through terminal like a pro 😎.

ls Xtended : A command line utility which lets you navigate through terminal like a pro 😎.

Navigate through terminal like a pro 😎 💻 Demo • ⚗️ Installation • 🐜 Contribution • ❗ Known Issues ❓ Why? It's a pain to cd and ls multiple times to

Dec 14, 2022

Portal is a quick and easy command-line file transfer utility from any computer to another 🖥️ 🌌 💻

Portal is a quick and easy command-line file transfer utility from any computer to another 🖥️ 🌌 💻

Portal is a quick and easy command-line file transfer utility from any computer to another 🖥️ 🌌 💻

Dec 27, 2022

A command line utility for labeling GitHub issues and pull requests

A command line utility for labeling GitHub issues and pull requests

Jan 8, 2023

Command-line utility to grab Github gists from your own account.

Command-line utility to grab Github gists from your own account.

gistfetch Command-line utility to grab Github gists from your own account. How do I use this? Add an API token with permissions to read Gists Fetch th

Dec 14, 2021

Go cmd utility that prints its command line arguments using strings.Join

Results This is an exercise of the book The Go Programming Language, by Alan A. A. Donovan and Brian Kernighan. Comparison between different versions

Dec 18, 2021

You-Get is a tiny command-line utility to download media contents (videos, audios, images) from the Web,

You-Get is a tiny command-line utility to download media contents (videos, audios, images) from the Web,

You-Get NOTICE: Read this if you are looking for the conventional "Issues" tab. You-Get is a tiny command-line utility to download media contents (vid

Jan 2, 2023

A command line utility that automagically replaces UNIX timestamps with human interpretable timestamps.

Unfy unfy is a command line utility that automagically identifies and translated UNIX timestamps (since epoch) to human readable timestamps. Example B

Oct 22, 2022
Comments
  • Error while Initializing a python project

    Error while Initializing a python project

    Describe the bug Error while initiating a project

    To Reproduce Steps to reproduce the behaviour:

    1. create project file `mkdir new-project
    2. initialize the project using hydra hydra init new-project/ python
    3. See error

    Expected behaviour No error should be present, and the fish shell should not give an ❌ emoji at the start of the new line (in the screenshot's last line)

    Screenshots hydra_bug

    Desktop (please complete the following information):

    • OS: Linux (Ubuntu-based, Pop OS)
    • Version of hydra: (latest) v2.2
    • Terminal: Fish
  • Adding more languages/frameworks to hydra

    Adding more languages/frameworks to hydra

    hydra v1.0.0 supports only python and go for project initialisation. We want to add more languages/frameworks to hydra, so that using hydra could be more practical and meaningful.

    Here are some of the languages/frameworks I think should be added to hydra:

    • [ ] Java
    • [ ] Dart
    • [x] Ruby
    • [x] Full Stack Web project
    • [ ] Swift
    • [x] C
    • [x] C++
    • [ ] C#

    Comment below some other languages/frameworks I haven't added here :).

    Open an issue if you want to add a language support to hydra, and I'll assign you the same.

    Make sure you create a new git branch before opening a pull request.

A command-line tool and library for generating regular expressions from user-provided test cases
A command-line tool and library for generating regular expressions from user-provided test cases

Table of Contents What does this tool do? Do I still need to learn to write regexes then? Current features How to install? 4.1 The command-line tool 4

Jan 9, 2023
mass-binding-target is a command line tool for generating binding target list by search plot files from disk.

mass-binding-target mass-binding-target is a command line tool for generating binding target list by search plot files from disk. Build Go 1.13 or new

Nov 5, 2021
git-glimpse is a command-line tool that is aimed at generating a git prompt like the one from zsh-vcs-prompt.

Git GoGlimpse git-glimpse is a command-line tool that is aimed at generating a git prompt like the one from zsh-vcs-prompt. The particularity of this

Jan 27, 2022
An open-source GitLab command line tool bringing GitLab's cool features to your command line
An open-source GitLab command line tool bringing GitLab's cool features to your command line

GLab is an open source GitLab CLI tool bringing GitLab to your terminal next to where you are already working with git and your code without switching

Dec 30, 2022
A command line tool that builds and (re)starts your web application everytime you save a Go or template fileA command line tool that builds and (re)starts your web application everytime you save a Go or template file

# Fresh Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file. If the web framework yo

Nov 22, 2021
A command line tool to prompt for a value to be included in another command line.

readval is a command line tool which is designed for one specific purpose—to prompt for a value to be included in another command line. readval prints

Dec 22, 2021
📷 Command-line utility to download all photos from Instagram
📷 Command-line utility to download all photos from Instagram

Instagram Downloader This is a simple command-line tool, written in Go, to download all images from an Instagram account. Getting Started Install inst

Sep 9, 2022
A small utility command line application that can recursively download Notion pages

notionbackup A small utility command line application that can recursively download Notion pages. I needed something scriptable that could periodicall

Dec 5, 2022
Hosty is a command-line utility that allows for fast inspection and editing of /etc/hosts-like files

Hosty Description Hosty is a command-line utility that allows for fast inspection and editing of /etc/hosts-like files. It is written in golang and us

Sep 3, 2021
🔄 A command-line utility to export Protocol Buffers (proto) files to YAML, and JSON

proto2yaml ?? A command-line utility to export Protocol Buffers (proto) files to YAML, and JSON. Currently supported exports are for: Packages Service

Nov 10, 2022