Skip to content

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tink

Tink installs and maintains repository-owned Agent Skills under .agents/skills/. This is the Go implementation of the tink command.

Install

On macOS or Linux:

curl -fsSL https://raw.githubusercontent.com/jon-devlapaz/tink-go/main/install.sh | sh

The installer verifies the GitHub Release digest and exact binary version, then places tink in ~/.local/bin. It requires curl, tar, and python3.

If ~/.local/bin is not already on your PATH, add it to your shell startup file. For zsh:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Confirm the installation:

tink --version

To inspect the installer before running it, download it first:

curl -fsSLO https://raw.githubusercontent.com/jon-devlapaz/tink-go/main/install.sh
less install.sh
sh install.sh

Set up a project

From the repository that should own the skills:

cd /path/to/your/project
tink init
tink skill check

tink init creates .agents/skills/, installs the embedded manage-tink skill, and prepares the home inventory at ~/.tink. It preserves unrelated files and can be run again safely.

Optional setup:

# Also add maintainability guidance.
tink init --with-zen

# Also install skill-scout and skill-eval-loop from tink-skills.
tink init --with-tink-skills

See every setup option with tink init --help.

Everyday commands

tink inspect https://github.com/owner/repository
tink skill add owner/repository --skill skill-name
tink skill list
tink skill check
tink skill refresh skill-name
tink skill remove skill-name

Run tink --help or tink <command> --help for the complete command surface.

Update

tink update

Updates are downloaded from this repository's latest GitHub Release, verified, probed, and atomically published. Existing binary bytes are restored if the published candidate fails verification.

Uninstall

Remove only the executable:

rm "$HOME/.local/bin/tink"

This intentionally leaves project-owned .agents/skills/ trees and the ~/.tink library/catalog untouched. Review those separately before deleting them. Within a project, tink destroy removes only Tink-managed project scaffolding and preserves guidance and unrelated .agents/ content.

Compatibility

The command name, user-facing behavior, and on-disk protocols match the frozen Rust tink 1.0.0 contract. The compatibility corpus contains 168 external binary-level scenarios.

Frozen compatibility baseline

  • Rust repository: jon-devlapaz/tink
  • Commit: 2b082b5032b6f6cef6ea301868c499a93b86552f
  • Reference version: tink 1.0.0
  • Darwin/arm64 reference SHA-256: 2d7b3ce6ff91f7ea8805caff40a476ec308aa2003d99b510423b0bc89d868b76
  • Rust toolchain: 1.95.0
  • Cargo.lock SHA-256: 8a59efe422e46b889aaf5364a6bbbfa1a38afb0c92c729ebb55953640b0ca52a
  • Frozen Rust install.sh SHA-256: 92493e1f2d03974516ed2341bfa0cbb26ea2108162aff669125e5f1d4214b002

The baseline does not move without an explicit compatibility decision.

Development

Build the candidate binary:

go build -o ./bin/tink ./cmd/tink

Run Go-native tests:

go test ./...

Run the external conformance suite against the frozen Rust binary:

TINK_REFERENCE_BIN=/Users/jondev/dev/active/tink/target/debug/tink \
TINK_CANDIDATE_BIN="$PWD/bin/tink" \
TINK_ACCEPTANCE=/Users/jondev/dev/active/tink/ACCEPTANCE.md \
TINK_REQUIRE_EXTERNAL=1 \
go test ./conformance

The required mode rejects a missing binary, an unpinned reference, identical reference and candidate executables, deferred scenarios, or anything less than the exact 168-row frozen acceptance set.

No remote repository, published artifact, or installed binary is required for local conformance work.

About

tink- but in go

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages