Git-Tool json-schema
Git-Tool is a command line tool which keeps your git repositories organized and makes the process of opening a repo to work in consistent across all of your devices.
Configuration
Git-Tool's config file allows you to control how it behaves on your computer.
https://schemas.sierrasoftworks.com/git-tool/v1/config.schema.json
Example
# yaml-language-server: $schema=https://schemas.sierrasoftworks.com/git-tool/v1/config.schema.json
$schema: https://schemas.sierrasoftworks.com/git-tool/v1/config.schema.json
directory: /home/bpannell/dev
services:
- domain: github.com
website: "https://{{ .Service.Domain }}/{{ .Repo.FullName }}"
httpUrl: "https://{{ .Service.Domain }}/{{ .Repo.FullName }}.git"
gitUrl: "git@{{ .Service.Domain }}:{{ .Repo.FullName }}.git"
pattern: "*/*"
apps:
- name: shell
command: pwsh
- name: code
command: code
args:
- .
aliases:
gt: github.com/SierraSoftworks/git-tool
features:
http_transport: false
open_new_repo_in_default_app: true
telemetry: true
Registry Templates
Git-Tool maintains a registry of common applications and services which allow you to quickly add them to your config.
https://schemas.sierrasoftworks.com/git-tool/v1/template.schema.json
Example
# yaml-language-server: $schema=https://schemas.sierrasoftworks.com/git-tool/v1/template.schema.json
$schema: https://schemas.sierrasoftworks.com/git-tool/v1/template.schema.json
name: Demo
description: This is an example of how to create a config template
version: 1.0.0
configs:
# Your config should include either a service (like this)...
- platform: any
service:
domain: github.com
website: "https://{{ .Service.Domain }}/{{ .Repo.FullName }}"
httpUrl: "https://{{ .Service.Domain }}/{{ .Repo.FullName }}.git"
gitUrl: "git@{{ .Service.Domain }}:{{ .Repo.FullName }}.git"
pattern: "*/*"
# Or an app (like this) but usually not both.
- platform: windows
app:
name: shell
command: powershell.exe
# You can also add platform specific versions of each app
- platform: linux
app:
name: shell
command: pwsh