- Crystal 63.8%
- Nix 30%
- Makefile 6.2%
| spec | minimal working version | |
| src | Bumped version number to v0.3.0. | |
| test | add full git source, improve show output | |
| .editorconfig | minimal working version | |
| .gitignore | minimal working version | |
| CHANGELOG.md | combine show and clone commands in group cmd | |
| flake.lock | fix flake for running | |
| flake.nix | fix flake for running | |
| LICENSE | minimal working version | |
| Makefile | add install rule | |
| package.nix | fix flake for running | |
| README.md | docs update, version bump | |
| shard.lock | minimal working version | |
| shard.yml | Bumped version number to v0.3.0. | |
| shards.nix | minimal working version | |
Skull
Skull helps developers with multiple computers and hundreds of projects, cloning their repo's at the correct location using a central catalog-file.
Why
Besides DRY, having a predefined directory layout for all your code-projects, allows you to do more automation. I wrote skull after I start using gs-git, a git monitor which checks for dirty git repo's.
Installation
You need crystal to build skull.
clone https://github.com/mipmip/skull
cd skull
shards
make
./bin/skull
Configuration
Create a skull catalog file at ~/.config/skulls.yaml.
Populate with repo-groups and repo's:
home:base_dir:~/repos:- source:mipmip/secondbrain- source:mipmip/nixostest:base_dir:/tmp/repos:- source:mipmip/awesomewm-screenshots- source:https://github.com/mipmip/mip.rs.gitSource can be a full git source URL or just shortened github url. Shortened github urls translate to a SSH URI.
mipmip/awesomewm-screenshots will translates to git clone git@github.com:mipmip/awesomewm-screenshots
Usage
skull help
skull [subcommand] help
Development
Use crystal, if you have nix and flakes you can run
nix develop
shards
make
./bin/skull -c test/skull.yaml
New release
update CHANGELOG.md
update src/skull/version
update shards.yml
git tag vX.X.X
git push --tags
gh browse + release stuff
Contributing
- Fork it (https://github.com/mipmip/skull/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- Pim Snel - creator and maintainer