All Projects → hiqdev → hidev

hiqdev / hidev

Licence: BSD-3-Clause license
Automation tool mixed with code generator for easier continuous development

Programming Languages

PHP
23972 projects - #3 most used programming language
Twig
543 projects

Projects that are alternatives of or similar to hidev

eslint4b
ESLint which works in browsers.
Stars: ✭ 33 (+22.22%)
Mutual labels:  build
sum types.dart
A code generator enabling sum-types in Dart
Stars: ✭ 39 (+44.44%)
Mutual labels:  code-generation
GraphQL.Tools
GraphQL.Tools is a GraphQL to C# compiler (code-generator) which turns your GraphQL schema into a set of C# classes, interfaces, and enums.
Stars: ✭ 49 (+81.48%)
Mutual labels:  code-generation
go-inline
Generic Data Structures/Algorithms in golang.
Stars: ✭ 52 (+92.59%)
Mutual labels:  code-generation
postbuildscript-plugin
The PostBuildScript Jenkins plugin lets you execute a set of scripts at the end of the build depending on the build status.
Stars: ✭ 40 (+48.15%)
Mutual labels:  build
drevops
💧 + 🐳 + ✓✓✓ + 🤖 + ❤️ Build, Test, Deploy scripts for Drupal using Docker and CI/CD
Stars: ✭ 55 (+103.7%)
Mutual labels:  build
pexample
Building and packaging Python with Pants and PEX - an annotated example
Stars: ✭ 21 (-22.22%)
Mutual labels:  build
tracecode-toolkit-strace
Trace software components, packages and files between Development/Source and Deployment/Distribution/Binaries codebases - strace build analysis
Stars: ✭ 21 (-22.22%)
Mutual labels:  build
sp-build-tasks
👷 SharePoint front-end projects automation and tasks tool-belt
Stars: ✭ 15 (-44.44%)
Mutual labels:  build
airin
A framework for automated migration of your projects to Bazel build system.
Stars: ✭ 21 (-22.22%)
Mutual labels:  build
overture
The Overture Tool
Stars: ✭ 45 (+66.67%)
Mutual labels:  code-generation
atbuild
Use JavaScript to generate JavaScript
Stars: ✭ 26 (-3.7%)
Mutual labels:  code-generation
simple-targets-csx
⊙ A minimalist target runner for C# scripts.
Stars: ✭ 17 (-37.04%)
Mutual labels:  build
zig-header-gen
Automatically generate headers/bindings for other languages from Zig code
Stars: ✭ 40 (+48.15%)
Mutual labels:  build
freedom-middleware-webpack2
webpack2前端项目开发构建中间件,方便统一管理前端项目中95%以上的构建工作
Stars: ✭ 35 (+29.63%)
Mutual labels:  build
enumer
A Go tool to auto generate methods for your enums
Stars: ✭ 167 (+518.52%)
Mutual labels:  code-generation
Coalesce
Helping you quickly build amazing sites
Stars: ✭ 42 (+55.56%)
Mutual labels:  code-generation
copygen
Go generator to copy values from type to type and fields from struct to struct (copier without reflection). Generate any code based on types.
Stars: ✭ 121 (+348.15%)
Mutual labels:  code-generation
php-json-schema-model-generator
Creates (immutable) PHP model classes from JSON-Schema files including all validation rules as PHP code
Stars: ✭ 36 (+33.33%)
Mutual labels:  code-generation
platform-atmelavr
Atmel AVR: development platform for PlatformIO
Stars: ✭ 97 (+259.26%)
Mutual labels:  build

HiDev

Automation tool mixed with code generator for easier continuous development

Latest Stable Version Total Downloads Build Status Scrutinizer Code Coverage Scrutinizer Code Quality Dependency Status

Simplifies and automates:

Functionality is provided and can be extended with plugins.

Installation

There are several ways of installation in order of preference:

  1. download PHAR from http://hiqdev.com/hidev/hidev.phar
  2. require hiqdev/hidev in your project's composer.json
  3. install globally with composer global require "hiqdev/hidev:*"

Idea

The main idea behind HiDev is to combine code generator and build tool to stop copying config files between your projects. And automate all the repeated tasks of course. But firstly generate all the files that can be generated, e.g.:

  • .gitignore, README.md, LICENSE, CHANGELOG.md
  • composer.json
  • .travis.yml, .scrutinizer.yml
  • phpunit.xml, codeception.yml
  • .php_cs

You write a simple config specifying general information about your package and plugins to be used. HiDev alone does nothing at all! You specify what you want it to do in config or use plugins. There are predefined plugins with generally usable configs or you can create plugins yourself.

For example, hiqdev/hidev-php plugin is a general config for PHP projects and will enable HiDev to create all the listed above files and adds goals to use:

  • hidev default or simply hidev will update config files according to the changes you made
  • hidev fix: will update .php_cs file and run php-cs-fixer to fix code style of your PHP files
  • hidev test: will update phpunit.xml and run your tests with phpunit
  • hidev build: will do fix and test alltogether
  • hidev bump and hidev release will bump project version and publish release to GitHub

HiDev can generate different files: sources, tests, anything else based on templates and all the information available in config files or elsewhere.

Now I'm working to enable HiDev to do more:

  • project bootstraping and deploy
  • integration with other build tools: robo, grunt, gulp, ...
  • more for Python: pep8, tests, ...

Configuration

The main config file is: hidev.yml.

You can generate basic config file with init command:

hidev init the-vendor/my-new-package

You will receive:

package:
    type:           project
    name:           my-new-package
    title:          My New Package
    keywords:       my, new, package

vendor:
    name:           the-vendor
    authors:
        hiqsol:
            name:       Andrii Vasyliev
            email:      [email protected]

Package section holds info about the package:

  • name: your package name, same as in package manager but without vendor name
  • title: single line description of your package (description in composer.json)
  • type, keywords: same as in package manager

Also you can add more info for better README generation:

  • headline: short user friendly name of your project, used for README header
  • description: longer description

Vendor section holds info about you or your company:

  • name: same as in package manager
  • title: full vendor name, will be used for README, LICENSE and so on
  • github, homepage, forum, email: obviously
  • license: will be used if package does not specify one
  • authors: array of authors, see: HiQDev's config

Best way to configure vendor is to create and use your vendor plugin for HiDev. It's easy, just fork hiqdev/hidev-hiqdev, change it appropriately and publish to Packagist.

For examples of HiDev configuration you can see our repos on GitHub, all of them are automated with HiDev.

Usage

hidev goal[/action]

License

This project is released under the terms of the BSD-3-Clause license. Read more here.

Copyright © 2015-2018, HiQDev (http://hiqdev.com/)

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].