firststone

command module
v0.0.0-...-f79620d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 5, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

README

GitHub Workflow Status

firststone

A simple util to automate the creation of projects in different languages

First Stone is a utility that automates the creation of project's directories and files for certain programming languages. Current supported languages are: Python, Go.

Why

Creating a project in a language typically requires certain infrastructure. This infrastructure is light (files and folders), but:

  1. it should be consistent across projects (all python projects should contain the same base directories and files, like setup.py, init.py for packages, test directory...)
  2. it is tedious to create it manually (mkdir, touch)
  3. if this task is left to copy-pasting from other existing projects, there are certain things that will need to be changed in anycase, like the project name. This leads to manually editting files to change strings here and there

The aim of first stone is just that, laying the first stone of a project quickly, automatically and without forgetting to edit files here and there.

Installation

  1. Go get to install the latest version of the package

    go get -v github.com/carlosghabrous/firststone
    
  2. Make sure GOPATH is included in your PATH. Run the tool:

    firststone <command> [-flags] [arguments]
    

    For instance, to create a python project:

    mkdir my-new-project
    cd my-new-project
    firststone init my-new-project python
    
  3. To get some help

    firststone --help
    

    You can also get help by command:

    firststone init --help
    

TODO

  • Add tests per module, if possible
  • Add check: parent directory's name should be = to project's name
  • Add content to golang project
  • Check whether variables and functions/methods are more public than needed

Documentation

Overview

Copyright © 2021 NAME HERE <EMAIL ADDRESS>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL