1
1
Fork
You've already forked ta
0
The Archive-like read-only interaction with your Zettelkasten for word search and deep research. https://zettelkasten.de
  • Swift 99.6%
  • Shell 0.4%
2026年05月28日 08:48:55 +02:00
.claude chore: add publish-release skill 2026年05月28日 08:35:07 +02:00
docs docs: ADR-006 for note ID detection default 2026年05月28日 08:38:27 +02:00
scripts build: use single source of truth for release version 2026年04月19日 07:44:53 +02:00
Sources/ta release: bump to 0.3.0 2026年05月28日 08:48:55 +02:00
Tests/taTests feat: verbose logging for wikilink resolution decisions 2026年05月27日 19:28:32 +02:00
.gitignore automate sign+notarize+package pipeline with mise 2026年04月18日 11:01:47 +02:00
CHANGELOG.md release: bump to 0.3.0 2026年05月28日 08:48:55 +02:00
LICENSE chore: add LICENSE 2026年04月17日 13:50:32 +02:00
mise.toml build: guard releases against missing CHANGELOG entry 2026年04月19日 07:47:21 +02:00
Package.swift rename CLI and skills from zk-llm to ta (the archive) 2026年04月17日 13:46:28 +02:00
README.md docs: clarify dev vs release build paths in README 2026年04月19日 07:47:49 +02:00

ta — the archive

A command-line retrieval tool over a Zettelkasten archive, shaped for consumption by coding agents. Prototype.

See docs/README.md for the design documentation tree, and CHANGELOG.md for release notes.

Build

swift build -c release

The binary lands at ./.build/release/ta. For a signed, notarized universal binary suitable for redistribution, see Packaging and release below.

Configure

Point ta at your archive in one of these ways (listed in precedence order):

  1. Pass --archive /path/to/archive on a subcommand (search, tag, or show). The flag is not accepted at the root.
  2. export TA_DIR=/path/to/archive.
  3. Write archive: /path/to/archive to ~/.config/ta/config.yaml.

Usage

ta search --tag learning --phrase "second-order" --depth 3

Emits a flat YAML list of direct hits plus their outgoing-link neighborhood up to --depth hops (default 3, cap 10).

Tag-only search (convenience)

ta tag thinking --depth 2

Show a note

ta show "202503091430 Mental Models.md" "202503091431 Second Order Thinking.md"

Emits YAML frontmatter + raw markdown body per ref.

Agent skills

ta is built for coding agents that drive the CLI on the user's behalf. Copy-pasteable skills live under docs/skills/:

Skill Triggers on Strategy
ta-search Literal lookups. "Find my note about X." Single query, read YAML, call show if needed.
ta-associative-recall Fuzzy / vibe queries. "That idea I had about..." Fan out 5–8 literal probes across tag / phrase / word axes, aggregate, rank, offer pivots.
ta-deep-research Topic exploration. "Trace X through my notes." Graph crawl + selective show + iterative extraction + synthesis with citations.

Claude Code users:

cp -r docs/skills/ta-search ~/.claude/skills/
cp -r docs/skills/ta-associative-recall ~/.claude/skills/
cp -r docs/skills/ta-deep-research ~/.claude/skills/

Other agents: see docs/skills/README.md for the frontmatter convention.

Runtime dependencies

  • rg (ripgrep) on $PATH is preferred.
  • Falls back to grep -l -r if rg is absent.

Tests

swift test

Packaging and release

Signing, notarizing, and assembling .pkg / .tar.gz release artifacts is automated via mise:

mise tasks # list available tasks
mise run verify-setup # check certs + notary profile are configured
mise run release # full pipeline: build → sign → pkg → notarize → tarball

See docs/packaging.md for one-time setup (Developer ID certs + notarytool store-credentials).