1
1
Fork
You've already forked skull
0
Git repos install tool organized by a catalog yaml file
  • Crystal 63.8%
  • Nix 30%
  • Makefile 6.2%
2024年09月23日 13:22:46 +02:00
spec minimal working version 2023年03月27日 17:53:44 +02:00
src Bumped version number to v0.3.0. 2024年08月22日 21:05:47 +02:00
test add full git source, improve show output 2023年04月07日 16:15:52 +02:00
.editorconfig minimal working version 2023年03月27日 17:53:44 +02:00
.gitignore minimal working version 2023年03月27日 17:53:44 +02:00
CHANGELOG.md combine show and clone commands in group cmd 2024年08月22日 21:05:38 +02:00
flake.lock fix flake for running 2024年09月23日 13:22:46 +02:00
flake.nix fix flake for running 2024年09月23日 13:22:46 +02:00
LICENSE minimal working version 2023年03月27日 17:53:44 +02:00
Makefile add install rule 2023年03月27日 18:00:51 +02:00
package.nix fix flake for running 2024年09月23日 13:22:46 +02:00
README.md docs update, version bump 2023年04月07日 16:23:53 +02:00
shard.lock minimal working version 2023年03月27日 17:53:44 +02:00
shard.yml Bumped version number to v0.3.0. 2024年08月22日 21:05:47 +02:00
shards.nix minimal working version 2023年03月27日 17:53:44 +02:00

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.git

Source 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

  1. Fork it (https://github.com/mipmip/skull/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors