Thank you for contributing. Contributions are always welcome, no matter how large or small.
As a contributor, here are the guidelines you should follow:
- Code of conduct
- How can I contribute?
- Using the issue tracker
- Submitting a Pull Request
- Coding rules
- Working with code
We also recommend to read How to Contribute to Open Source.
Thank you for contributing.
- Create your branch from
main
. - Ensure your git commit messages follow the required format.
- Ensure your scripts are well-formed, well-documented and object-oriented.
- Ensure your scripts are stateless and can be reused by all.
- Update your branch, and resolve any conflicts, before making pull request.
- Fill in the required template.
- Do not include issue numbers in the PR title.
- Include screenshots and animated GIFs in your pull request whenever possible.
- Follow the style guide applicable to the language or task.
- Include thoughtfully-worded, well-structured tests/specs. See the Tests/Specs Style Guide.
- Document new code based on the Documentation Style Guide.
- End all files with a newline.
git clone https://github.com/seantrane/dotfiles.git dotfiles && cd dotfiles
~/.dotfiles/
├─ bin/ * Anything in `bin/` will get added to your `$PATH`
│ │ and be made available everywhere.
│ ├─ {binary} * Any shell script you wish.
│ :
│
├─ functions/ * Anything in `functions/` will be loaded in environment.
│ ├─ {function} * Shell function (with filename identical to function name)
│ :
│
├─ {topic}/ * Directory with files pertaining to a specific topic or application.
│ ├─ aliases.{,ba,z}sh * Any file named `aliases.{,ba,z}sh` is loaded into your environment.
│ ├─ completion.{ba,z}sh * Any file named `completion.{ba,z}sh` is loaded last
│ │ and is expected to setup autocomplete.
│ ├─ path.{,ba,z}sh * Any file named `path.{,ba,z}sh` is loaded first
│ │ and is expected to setup `$PATH` or similar.
│ ├─ *.{,ba,z}sh * Any files ending in `.{,ba,z}sh` get loaded into your environment.
│ ├─ *.symlink * Any files ending in `*.symlink` get symlinked into your `$HOME`.
│ : For example; `npmrc.symlink` would be symlinked to `~/.npmrc`
│ This is so you can keep all of those versioned in your dotfiles
│ but still keep those autoloaded files in your home directory.
│ These get symlinked in when you run `script/bootstrap`.
│
└─ cli * Command-line interface
~/
├─ .dotfiles/ * TBD
│ ├─ bash/ * TBD
│ ├─ bin/ * TBD
│ ├─ brew/ * TBD
│ ├─ functions/ * TBD
│ ├─ git/ * TBD
│ ├─ macos/ * TBD
│ ├─ script/ * TBD
│ ├─ shell/ * TBD
│ ├─ system/ * TBD
│ ├─ user/ * TBD
│ └─ zsh/ * TBD
│
└─ cli * TBD
/etc/zshenv
~/.zshenv
👉~/.dotfiles/zsh/zshenv.symlink
⭐️~/.zprofile
👉~/.dotfiles/zsh/zprofile.symlink
~/.profile
👀👤
~/.dotfiles/brew/paths.sh
~/.env
👉~/.dotfiles/system/env.symlink
~/.dotfiles/shell/response.sh
⭐️~/.dotfiles/shell/paths.sh
⭐️~/.dotfiles/**/path.{sh,zsh}
⭐️~/.path
👀👤
~/.dotfiles/shell/exports.sh
⭐️~/.dotfiles/shell/functions.sh
~/.rvm/scripts/rvm
~/.functions
👀👤
~/.dotfiles/functions/*
⭐️
/etc/zprofile
🛑~/.zprofile
👉~/.dotfiles/zsh/zprofile.symlink
⭐️~/.profile
👀👤
/etc/zshrc
~/.zshrc
👉~/.dotfiles/zsh/zshrc.symlink
⭐️~/.zprezto/init.zsh
~/.localrc
👀👤~/.dotfiles/**/aliases.{sh,zsh}
⭐️~/.aliases
👀👤/etc/zsh_command_not_found
~/.dotfiles/**/completion.zsh
⭐️~/z/z.sh
||/opt/homebrew/etc/profile.d/z.sh
/etc/zlogin
~/.zlogin
👉~/.dotfiles/zsh/zlogin.symlink
/etc/zlogout
~/.zlogout
👉~/.dotfiles/zsh/zlogout.symlink