Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hiqdev/hidev
Automation tool mixed with code generator for easier continuous development
https://github.com/hiqdev/hidev
automation build code-generation hacktoberfest
Last synced: 3 days ago
JSON representation
Automation tool mixed with code generator for easier continuous development
- Host: GitHub
- URL: https://github.com/hiqdev/hidev
- Owner: hiqdev
- License: bsd-3-clause
- Created: 2015-04-28T16:55:52.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-31T11:34:27.000Z (6 months ago)
- Last Synced: 2025-01-06T19:13:10.177Z (10 days ago)
- Topics: automation, build, code-generation, hacktoberfest
- Language: PHP
- Homepage: http://hiqdev.com/packages/hidev
- Size: 900 KB
- Stars: 29
- Watchers: 5
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
# HiDev
**Automation tool mixed with code generator for easier continuous development**
[![Latest Stable Version](https://poser.pugx.org/hiqdev/hidev/v/stable)](https://packagist.org/packages/hiqdev/hidev)
[![Total Downloads](https://poser.pugx.org/hiqdev/hidev/downloads)](https://packagist.org/packages/hiqdev/hidev)
[![Build Status](https://img.shields.io/travis/hiqdev/hidev.svg)](https://travis-ci.org/hiqdev/hidev)
[![Scrutinizer Code Coverage](https://img.shields.io/scrutinizer/coverage/g/hiqdev/hidev.svg)](https://scrutinizer-ci.com/g/hiqdev/hidev/)
[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/hiqdev/hidev.svg)](https://scrutinizer-ci.com/g/hiqdev/hidev/)
[![Dependency Status](https://www.versioneye.com/php/hiqdev:hidev/dev-master/badge.svg)](https://www.versioneye.com/php/hiqdev:hidev/dev-master)Simplifies and automates:
- package management: [Composer], [Packagist]
- releasing: README, LICENSE, CHANGELOG, version bumping
- CI services integration: [Travis], [Scrutinizer]
- testing: [PHPUnit], [Codeception]
- code quality checking: [PHP-CS-Fixer], [VersionEye]
- version control management: .gitignore, GitHub
- PHAR building with [Box]
- code generation with php and twig templatesFunctionality is provided and can be extended with [plugins].
[Composer]: https://getcomposer.org/
[Packagist]: https://packagist.org/
[Travis]: https://travis-ci.org/
[Scrutinizer]: https://scrutinizer-ci.com/
[PHPUnit]: https://phpunit.de/
[Codeception]: http://codeception.com/
[PHP-CS-Fixer]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
[VersionEye]: https://www.versioneye.com/
[Box]: https://github.com/box-project/box2
[plugins]: docs/Plugins.md## 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 GitHubHiDev 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:
```sh
hidev init the-vendor/my-new-package
```You will receive:
```yaml
package:
type: project
name: my-new-package
title: My New Package
keywords: my, new, packagevendor:
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 managerAlso you can add more info for better README generation:
- **headline**: short user friendly name of your project, used for README header
- **description**: longer descriptionVendor 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](https://github.com/hiqdev/hidev-hiqdev/blob/master/src/config/goals.yml)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.[our repos on GitHub]: https://github.com/hiqdev
## Usage
```sh
hidev goal[/action]
```## License
This project is released under the terms of the BSD-3-Clause [license](LICENSE).
Read more [here](http://choosealicense.com/licenses/bsd-3-clause).Copyright © 2015-2018, HiQDev (http://hiqdev.com/)