{"id":13990635,"url":"https://github.com/liudng/dev","last_synced_at":"2025-07-22T13:30:40.778Z","repository":{"id":87199014,"uuid":"73816050","full_name":"liudng/dev","owner":"liudng","description":"Lightweight Bash Scripts Manager","archived":false,"fork":false,"pushed_at":"2021-01-24T07:49:04.000Z","size":129,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-09T13:17:36.507Z","etag":null,"topics":["bash","bash-framework","developer-tools","devops"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liudng.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,"governance":null,"roadmap":null,"authors":"AUTHORS"}},"created_at":"2016-11-15T13:26:42.000Z","updated_at":"2022-04-12T00:43:01.000Z","dependencies_parsed_at":"2023-03-07T09:45:11.737Z","dependency_job_id":null,"html_url":"https://github.com/liudng/dev","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liudng%2Fdev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liudng%2Fdev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liudng%2Fdev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liudng%2Fdev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liudng","download_url":"https://codeload.github.com/liudng/dev/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227098909,"owners_count":17730666,"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":["bash","bash-framework","developer-tools","devops"],"created_at":"2024-08-09T13:03:02.661Z","updated_at":"2024-11-29T10:31:12.515Z","avatar_url":"https://github.com/liudng.png","language":"Shell","readme":"# dev - Lightweight Bash Scripts Manager\n\n[![License](https://img.shields.io/badge/license-BSD-blue.svg?style=flat)](https://github.com/liudng/dev/blob/master/LICENSE)\n\nFor large and complex software projects need to setup the development\nenvironment, including software installation dependents,  clone source code\nrepository, manage a large number of scripts, custom configuration files, and so on.\n\nThe goal of `dev` is to make these things easier.\n\n\u003e This documentation assumes you are already familiar with Bash. If you do not know anything about Bash, consider familiarizing yourself with the general terminology and features of Bash before continuing.\n\n## Featues\n\n* Writen in pure bash.\n* Modular.\n* Lightweight.\n\n## Installation\n\nClone the [dev](https://github.com/liudng/dev) repository to a local directory:\n\n```sh\ngit clone git@github.com:liudng/dev.git ~/dev\n```\n\nAdd ~/dev/bin to the PATH variable:\n\n```sh\necho \"export PATH=$PATH:~/dev/bin\" \u003e\u003e ~/.bashrc\n```\n\nOr link ~/dev/bin/dev.bash to a PATH directory:\n\n```sh\nln -s ~/dev/bin/dev.bash ~/.local/bin/dev\nln -s ~/dev/bin/dev-bootstrap.bash ~/.local/bin/dev-bootstrap.bash\n```\n\nCreate a configuration file:\n\n```sh\ncp ~/dev/etc/dev.conf.example ~/dev/etc/dev.conf\n```\n\nIf you want to use the command auto completion, run the following command:\n\n```sh\ncat ~/dev/share/completion.bash \u003e\u003e ~/.bash_completion\n```\n\nThe installation is complete, enter `dev --help` at the command line to see how to use it.\n\n## Usage\n\n```sh\ndev [--sudo] [--trace] [--verbose] \u003ccmd-file\u003e \u003ccmd-function\u003e [arguments...]\ndev [--help] [--version]\n```\n\n[dev](https://github.com/liudng/dev)'s custom commands are saved in the cmd directory, and the file extension\nmust be `.bash`, In the help topic it is named **cmd-file**. In each command\nfile, **cmd-function** is prefixed with *cmd_*.\n\n## Example\n\nType the folloing command:\n\n```sh\ndev examples/example helloworld\n```\n\nOutput:\n\n```sh\nHello world!\n```\n\n## Custom Command Example\n\nCreate a new command to copy the following text to the file ~/dev/cmd/demo.bash:\n\n```sh\ncmd_helloworld() {\n    echo \"Hello world!\"\n}\n```\n\nAnd then type the following command to run:\n\n```sh\ndev demo helloworld\n```\n\nOutput:\n\n```sh\nHello world!\n```\n\nIn the above command, **demo** is cmd-file. **helloworld** is cmd-function.\n\n\u003e You can save all project-related commands in the cmd directory.\n\nMore examples, see the files in th [cmd](https://github.com/liudng/dev/tree/master/cmd) directory.\n\n## The Library Scripts\n\nImport a library script to current command file, Add following line to file start:\n\n```sh\ndev_import dev file\n```\n\nIt will load the script file from dev project's lib/file.bash.\n\n## Global Variables Reference\n\n* `$dev_global_project` The project name.\n* `$dev_global_base` The project base directory.\n\n## Global Functions Reference\n\n* `dev_import` Import a library file to current file.\n* `dev_run`\n\n## Multi-project\n\nUsing [dev](https://github.com/liudng/dev) to manage multiple projects is very easy.\n\n...\n\nMore project examples, see the [sys](https://github.com/liudng/sys) project.\n\n## Copyright\n\nCopyright 2018 The [dev](https://github.com/liudng/dev) Authors. All rights reserved.\n\nUse of this source code is governed by a BSD-style license that can be found in the LICENSE file.\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliudng%2Fdev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliudng%2Fdev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliudng%2Fdev/lists"}