-vcsh(1) - manage and sync config files via git
-==============================================
+vcsh(1) - manage config files in $HOME via fake bare git repositories
+=====================================================================
## SYNOPSIS
`vcsh` run <repo> <command>
-`vcsh` seed-gitignore <repo>
-
`vcsh` setup <repo>
+`vcsh` write-gitignore <repo>
+
`vcsh` <repo> <gitcommand>
+`vcsh` <repo>
+
## DESCRIPTION
This is needed to support mr and other scripts properly and of no concern to
an interactive user.
-* seed-gitignore:
- Seed .gitignore.d/<repo> from git ls-files.
-
* setup:
Set up repository with recommended settings.
+* write-gitignore:
+ Write .gitignore.d/<repo> via git ls-files.
+
* <repo> <gitcommand>:
Shortcut to run `vcsh` on a repo. Will prepend `git` to <command> by itself.
+* <repo>:
+ Shortcut to run `vcsh enter <repo>`.
+
## ENVIRONMENT
As noted earlier, `vcsh` will set <$GIT_DIR> and <$GIT_WORK_TREE> to the
appropriate values for fake bare git repositories.
+## HOOK SYSTEM
+
+`vcsh` provides a hook system. Hook scripts need to be executable and placed
+in <$XDG_CONFIG_HOME/vcsh/hooks-available>. From there, they should be
+soft-linked <$XDG_CONFIG_HOME/vcsh/hooks-enabled>.
+
+Hooks follow a simple format. `pre-run` will be run before anything is run.
+If you want to have more than one script for a certain hook, just append
+strings to order them. A system of `pre-run`, `pre-run.10`, `pre-run.20` etc
+is suggested. The dot it optional.
+
+If you want to create hooks for a specific `vcsh` repository, simply prepend
+the repository's name, followed by a dot, i.e. `zsh.pre-run`. This dot is
+mandatory.
+
+## DETAILED HOWTO AND FURTHER READING
+
+Man pages are intended to be short and thus often useless to glean best
+practices from. This software comes with a file called <README.md>. It contains
+various approaches to setting up and using vcsh. You can view the file it as
+plain text or render it into various other formats via Markdown.
+
+On Debian-based systems, this file can be found in </usr/share/doc/vcsh>.
+
## SECURITY CONSIDERATIONS
`vcsh` allows you to execute arbitrary commands via `vcsh` run. For example,
-speaking, adding a `sudo`(8) rule for `vcsh` would be pretty stupid.
+adding a `sudo`(8) rule for `vcsh` would be pretty stupid.
+
+Additionally, vcsh will source, i.e. execute, <$XDG_CONFIG_HOME/vcsh/config>.
+You can put any and all commands into this config file and they will be executed.
## BUGS