Git-Tool json-schema

Git-Toolopen in new window 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