All Projects → snwfdhmp → duck

snwfdhmp / duck

Licence: Apache-2.0 license
Create command snippets for repetitive development task. Share them to an online repository system (self hosted options available).

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to duck

pm-discussify
Discussify's project management repository
Stars: ✭ 17 (-57.5%)
Mutual labels:  project-management
Sublime-GameMaker-Studio-Language-Bundle
A sublime bundle for GameMaker Language (GML)
Stars: ✭ 32 (-20%)
Mutual labels:  snippets
vim-nayvy
🌑 Enriching python coding in Vim 🐍
Stars: ✭ 66 (+65%)
Mutual labels:  snippets
twig.vim
Twig syntax highlighting, indentation, neocomplete and UltiSnips snippets in Vim
Stars: ✭ 30 (-25%)
Mutual labels:  snippets
30-seconds-blog
Code articles for all your development needs
Stars: ✭ 566 (+1315%)
Mutual labels:  snippets
snippets
The Doom Emacs snippets library
Stars: ✭ 248 (+520%)
Mutual labels:  snippets
pipet
Personal snippet manager, store bits of text.
Stars: ✭ 21 (-47.5%)
Mutual labels:  snippets
goyave
A supervisor for git projects
Stars: ✭ 20 (-50%)
Mutual labels:  project-management
linden-scripting-language
Linden Scripting Language (LSL / Second Life) files for your editor.
Stars: ✭ 53 (+32.5%)
Mutual labels:  snippets
vscode-gcode-syntax
G Code Language Extension for Visual Studio Code. Turn VSCode into a fully capable G-Code editor, including language support & more.
Stars: ✭ 59 (+47.5%)
Mutual labels:  snippets
htmlrecipes
A collection of quick copy HTML snippets for a variety of common scenarios.
Stars: ✭ 113 (+182.5%)
Mutual labels:  snippets
codecolorer
WordPress plugin which allows you to insert code snippets into the post with nice syntax highlighting.
Stars: ✭ 56 (+40%)
Mutual labels:  snippets
jupyter boilerplate
Adds a customizable menu item to Jupyter (IPython) notebooks to insert boilerplate snippets of code
Stars: ✭ 69 (+72.5%)
Mutual labels:  snippets
middleman-snippets
⚡ Library of commonly used snippets for Middleman websites
Stars: ✭ 27 (-32.5%)
Mutual labels:  snippets
miniSnip
Lightweight snippet plugin for Vim
Stars: ✭ 45 (+12.5%)
Mutual labels:  snippets
reading-list
Reading list to help people getting started in the industry & prospective employees
Stars: ✭ 26 (-35%)
Mutual labels:  project-management
vscode-control-snippets
Disable or enable VS Code's built-in snippets and manually installed snippets from extensions.
Stars: ✭ 43 (+7.5%)
Mutual labels:  snippets
zurb-ink-sublime-snippets
ZURB Ink Sublime Snippets
Stars: ✭ 25 (-37.5%)
Mutual labels:  snippets
material2-snippets
Visual studio extension & Intellij plugin for Angular Material 2, Teradata Covalent 1, Angular Flex layout 1 & Material icon snippets
Stars: ✭ 14 (-65%)
Mutual labels:  snippets
rebacklogs
Re:Backlogs is an Open Source Project Management Tool.
Stars: ✭ 163 (+307.5%)
Mutual labels:  project-management

Message from the developer

As duck is being rewritten, this documentation might contain incorrect informations. I will get it up to date asap.

Introduction

Ducklogo is a developer tool which brings abstraction to the terminal.

Examples usage

C++ : compile

before

$ g++ -o ./binary1.4.3 main.cpp Logger.cpp AnotherFile.cpp MyClass.cpp -lm -Wall

after

$ @ build

Go : create packages

before

$ mkdir myNewPackage
$ touch myNewPackage/myNewPackage.go

after

$ @ pack myNewPackage

git: add, commit, push

before

$ git add *
$ git commit -a -m "My message"
$ git push origin master

after

$ @ gcp "My message"

Dependencies

name installation process
curl apt install curl or brew install curl or whatever
go official tutorial

Installation

  • Download the latest version of duck here

  • Move it into /usr/local/bin and name it duck

  • Run ln -s /usr/local/bin/duck /usr/local/bin/@ to add @ support

  • Download the project.conf in ressources/duck.conf (on the repo) and put it in /etc/duck/duck.conf

  • Start using duck !

One-line Installation

Currently not available

Installing duck from sources is a very easy step.

Once you have curl and go installed, just run :

WARNING : Due to recent changes, this script is being rewritten. You can still install duck but not with the script.

$ curl https://raw.githubusercontent.com/snwfdhmp/duck/master/INSTALL.sh | bash

This will download the installation script and execute it. Ensure to have sudo permissions.

Manual Installation

This will come later.

Usage

duck is available under the alias @ to speed up the command-writing process.

if @ is not available for you, run ln -s $(which duck) /usr/local/bin/@

usage: @ <action> [args]

command description
@ init add duck to your project
@ install pkg download and install package pkg
@ lings view loaded lings
@ exec run your project
@ repo-list print a list of installed repositories
@ mkdir mkdir a directory if it doesn't exist
@ buid build your project

To see the list of all available commands, type @ help

Getting started

Create a new directory for your projects

$ mkdir my-project
$ cd my-project

Init a duck repo in this directory

$ @ init
Name: tictactoe
Lang: go
Main: game.go

Install the packages you want

see the official repo here to discover packages

$ @ install snwfdhmp/std
$ @ install snwfdhmp/go
$ @ install snwfdhmp/cpp
$ @ install snwfdhmp/junk

Make a ling

Lings are duck's most interesting part. They are custom commands you build to avoid repeating commands.

Examples :

This Will execute
@ pack MyPackage mkdir MyPackage && touch MyPackage/MyPackage.go
@ gcp "My message" git add * && git commit -a -m "My message" && git push

Tags

You can use different $tags in a ling

Tag Description Example
$main Your project's main file main.go
$name Your project's name myAwesomeProject
$path Path to your project /home/snwfdhmp/my-project
$1, $2, ..., $9 Commands arguments (like in shell) @ create toto => mkdir toto && touch toto/toto.go

Example lings using tags :

This Will execute
@ build go build -o $path/$name
@ junk fileToThrow.txt mv fileToThrow.txt $path/.junk

Sample package

Packages contain lings

You can build packages to import/export lings.

Create a file in YOURPROJECT/.duck/YOURNAME/PKGNAME.pkg

.duck/pkg/snwfdhmp/go.pkg

{
	"Dependencies":[],
	"Lings":[
		{
			"Label":"build",
			"Description":"compile project",
			"Commands":["go build -o $name $main"],
			"Aliases":["b"]
		},
		{
			"Label":"pack",
			"Description":"create a new package",
			"Commands":[
				"mkdir $1",
				"touch $1/$1.go"
				],
			"Aliases":["p"]
		},
		{
			"Label":"run",
			"Description":"go run your project",
			"Commands":[
				"go run $main"
				],
			"Aliases":["r"]
		}
	]
}

Contributing

Duck is currently closed to contributions.

However, please feel free to open issues.

Author

  • snwfdhmp (I'm currently the only one on this project.)

Thanks to

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].