Metadata-Version: 2.4
Name: tink-agents
Version: 0.1.0
Summary: Repository-owned agent skills that just work
Author: Jon de la Paz
License-Expression: MIT
Project-URL: Homepage, https://github.com/jon-devlapaz/tink-agents
Project-URL: Repository, https://github.com/jon-devlapaz/tink-agents
Keywords: agents,codex,skills
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Tink

**Your agents work best simply. Your config should too.**

Tink puts complete, Git-tracked Agent Skills in a project's `.agents/skills/`
directory. There is no global registry, daemon, cache, or required `~/.agents`.
Codex discovers those skills natively from the working directory up to the
repository root.

## Install

Tink requires Python 3.11 or newer and has no runtime package dependencies.

```console
python -m pip install tink-agents
```

## Use

```console
# Create only .agents/skills/ with safe defaults.
tink setup --no-zen --no-twotink --no-updates

# Copy one complete local or public GitHub skill into this repository.
tink add ../my-skill
tink add owner/repository --skill skill-name

# Validate without changing files or using the network.
tink check

# Refresh clean GitHub imports; local edits cause a refusal.
tink update
tink update skill-name
```

Interactive `tink setup` offers three opt-ins, all defaulting to **No**:

- a portable `ZEN.md` referenced from `AGENTS.md`;
- `skill-scout` and `skill-eval-loop` from
  [Twotink](https://github.com/jon-devlapaz/twotink);
- a weekly GitHub Actions workflow that opens a review pull request for skill
  updates.

In scripts, choose explicitly with `--with-*` or `--no-*` flags. Tink never
initializes Git, stages files, commits, silently overwrites a differing skill,
or writes updates directly to a default branch.

## Model

Each skill is a self-contained directory with `SKILL.md` and any resources it
needs. A GitHub import additionally gets one Git-tracked `.tink-source.json`:

```json
{
  "source": "https://github.com/owner/repository.git",
  "revision": "full-git-object-id",
  "path": "skills/example"
}
```

That three-field receipt is enough for Tink to prove whether an installed skill
still matches its recorded source before updating it. Tink does not execute
skill code during `add`, `check`, or `update`.

Supported remote inputs are `owner/repository` and public GitHub HTTPS URLs.
Private authentication, registries, merging, templates, and silent background
mutation are deliberately outside v1.

The repository also contains the [`manage-tink`](skills/manage-tink/SKILL.md)
skill for agents operating Tink on a user's behalf.

## Develop

```console
python -B -m unittest discover -s tests -p 'test_*.py' -v
```

Licensed under the [MIT License](LICENSE).

