source

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package source parses, normalizes, and classifies skill source references (git shorthand, full HTTPS/SSH, local path, url) into a canonical identity.

Index

Examples

Constants

This section is empty.

Variables

View Source
var ErrInvalidSource = errors.New("invalid source")

ErrInvalidSource is returned when a source argument cannot be parsed.

Functions

This section is empty.

Types

type Ref

type Ref struct {
	Type      Type
	Original  string
	URL       string
	Owner     string
	Repo      string
	Path      string
	LocalPath string
}

Ref is a parsed, normalized source reference.

func Parse

func Parse(raw string) (Ref, error)

Parse classifies and normalizes a raw source argument.

Example
package main

import (
	"fmt"

	"github.com/glapsfun/gskill/internal/source"
)

func main() {
	ref, _ := source.Parse("github.com/acme/widgets/my-skill")
	fmt.Println(ref.Type, ref.Owner, ref.Repo, ref.Path)
	fmt.Println(ref.URL)
}
Output:
git acme widgets my-skill
https://github.com/acme/widgets.git

func (Ref) Display added in v0.3.0

func (s Ref) Display() string

Display returns a short human name for progress lines: owner/repo when known, else the repo name (local-promoted git repos have no owner), else the canonical identity (never the raw URL, which may carry credentials). For git identities the empty host/owner segments are trimmed so a bare-URL ref renders as its host, not "host//"; local paths pass through untouched.

func (Ref) Identity

func (s Ref) Identity() string

Identity returns the canonical identity string for the reference: the local path for local sources, or host/owner/repo[/path] for git sources.

type Type

type Type string

Type classifies where a skill comes from, as recorded in the lockfile.

const (
	TypeGit   Type = "git"
	TypeLocal Type = "local"
	TypeURL   Type = "url"
)

Source types (FR-007, FR-008).

func (Type) Valid

func (t Type) Valid() bool

Valid reports whether t is a recognized source type.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL