{"id":15672354,"url":"https://github.com/capmousse/setitup","last_synced_at":"2025-10-14T07:30:31.860Z","repository":{"id":8320965,"uuid":"9871253","full_name":"CapMousse/setitup","owner":"CapMousse","description":"SetItUp is an automated tool to easily setup your project dev environment.","archived":true,"fork":false,"pushed_at":"2017-09-26T14:12:59.000Z","size":53,"stargazers_count":16,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T15:01:35.518Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"wtfpl","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CapMousse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-05-05T16:30:07.000Z","updated_at":"2024-10-07T12:24:36.000Z","dependencies_parsed_at":"2022-08-07T02:15:24.316Z","dependency_job_id":null,"html_url":"https://github.com/CapMousse/setitup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CapMousse%2Fsetitup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CapMousse%2Fsetitup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CapMousse%2Fsetitup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CapMousse%2Fsetitup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CapMousse","download_url":"https://codeload.github.com/CapMousse/setitup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236453904,"owners_count":19151264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T15:24:39.853Z","updated_at":"2025-10-14T07:30:26.585Z","avatar_url":"https://github.com/CapMousse.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Setitup [![Build Status](https://secure.travis-ci.org/CapMousse/setitup.png?branch=master)](http://travis-ci.org/CapMousse/setitup) [![NPM version](https://badge.fury.io/js/setitup.png)](http://badge.fury.io/js/setitup)\n\nSetitup is an automated tool to rapidly setup a project on a new environment. Don't waste time to clone repository, install package and launch commands, let Setitup do it for you.\n\nSetitup comes with a small footprint and can be easily customised to add your own namespaces.\n\n## Using Setitup\n\nSetitup can be easily installed by npm by running the command `npm install setitup -g`\n\nHere is a list of available commands: \n\n```\ninit                                Create a new setitup.config file on your project directory\ninstall                             Install project from the current directory\ninstall -g {giturl}                 Install project from a git repository\ninstall -g {giturl} -o {directory}  Install project from a git repository on the asked directory\ninstall -n {namespace}              Install the asked namespace\ndoctor                              Check if current config is ready for the project\ndoctor  -n {namespace}              Check if current config is ready for the project namespace\nhelp                                Show help for setitup\n```\n\n## Namespace\n\nNamespace are the main feature of Setitup: they provide usefull tools to set up your environment. Install gems and npm package, setup virtual host, create database, run commands...\n\nYou can easily create your own namespace to add feature to Setitup!\n\nHere is a list of available namespaces : \n\n```\nproject    setup your virtualhost environment\ndatabase   setup your the database (mysql/sqlite)\ngem        gem dependencies\nnpm        npm dependences\ncommands   commands to launch to setup your project\n````\n\n**All namespaces are optional.**\n\n\n## How to use\n\n### Create a config file\n\nTo start, you need to create a config file, named `setitup.config` (using `YAML`), in your project folder. You can use `setitup init` to create a default file for you or create it manually.\n\n\n#### Project\nThe project namespace contains basic information for your setup:\n- host : the virtual host to create\n- root : the root dir for the virtual host\n\n\n```yaml\nproject:\n    host :    \"your.host\"\n    root :    \"root/dir \"\n```\n\n#### Database\nThe database namespace contains all information needed to setup your database:\n- driver : the driver to use (for now, only MySQL)\n- name : the database name\n- charset : the database charset (optional)\n- user : the user to create database (optional)\n- password : the user password to create database (optional)\n\n```yaml\ndatabase:\n    driver :  \"mysql\"\n    name :    \"database name\"\n    charset : \"utf8\"\n```\n\n#### Gem \u0026 Npm\nThe gem and npm namespaces will automaticaly install all listed packages with the given version\n\n```yaml\ngem:\n    sass :\n    compass :\n    susy :    \"1.0.8\"\n\nnpm:\n    coffee-script : \"~1.6.2\"\n    bower :\n```\n\n#### Commands\nThe commands namespace will run a set of custom commands when needed. \n\n```yaml\ncommands:\n    - \"php composer.phar install --dev\"\n    - \"php app/console assets:install\"\n    - \"brew update node\"\n```\n\n\n## Create custom namespaces\n\nIf you want to add a custom namespace, to add custom commands and tools, or if you want to override an existing namespace, simply create a setitup.js on your directory.\n\n```javascript\n'use strict';\n\nfunction YourNamespace (commands, rootDir, next) {\n    this.commands = commands; // list of asked command, package, whatever you want listed on the config file\n    this.rootDir = rootDir;\n    this.next = next; // this must be called at the end of your command\n}\n\nYourNamespace.prototype.install = function(){\n    // do stuff to install\n    this.next();\n};\n\nYourNamespace.prototype.doctor = function(){\n    // do stuff to check env\n    this.next();\n};\n\nmodule.exports = {\n    yourNamespace: YourNamespace\n}\n```\n\n## License\n\n```\nDO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\nVersion 2, December 2004\n\nCopyright (C) 2013 Jérémy Barbe \u003cjeremy@devenezninja.com\u003e\n\nEveryone is permitted to copy and distribute verbatim or modified\ncopies of this license document, and changing it is allowed as long\nas the name is changed.\n\nDO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n0. You just DO WHAT THE FUCK YOU WANT TO.\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapmousse%2Fsetitup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcapmousse%2Fsetitup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapmousse%2Fsetitup/lists"}