Crawlkit
Purpose
Maintain crawlkit, the shared Go library for crawl app archive infrastructure. Use this skill to keep shared archive infrastructure reusable, tagged, and safe for downstream app branches.
When to use
- Editing or reviewing
crawlkit. - Moving common crawl app behavior into the library.
- Checking whether
gitcrawl,slacrawl,discrawl, ornotcrawlcan merge against a releasedcrawlkittag. - Preparing or verifying a
crawlkitGo module release. - Investigating shared TUI, snapshot, config, SQLite, mirror, progress, or control metadata behavior.
Workflow
Locate the
crawlkitcheckout from the current repository, an explicit user path, or the configured workspace root.Read repo-local
AGENTS.md,README.md,CONTRIBUTING.md, anddocs/publishing.mdbefore release or compatibility work.Keep provider-specific logic out of
crawlkit. Shared mechanics belong in packages such asconfig,store,snapshot,mirror,state,output,progress,tui,cache, andcontrol.Run the library gate with workspace masking disabled:
GOWORK=off go mod tidy git diff --exit-code -- go.mod go.sum GOWORK=off go vet ./... GOWORK=off go test -count=1 ./...For release checks, verify the signed tag and public Go proxy:
git tag -v <version> GOPROXY=https://proxy.golang.org GONOSUMDB= go list -m github.com/vincentkoc/crawlkit@<version>For downstream readiness, inspect app branches read-only. Confirm they are clean, rebased, require the released
crawlkitversion, and pass:GOWORK=off go test ./... <app> --help <app> --version <app> metadata --json <app> status --json <app> tui --jsonUse temp
HOME,XDG_CONFIG_HOME, andXDG_CACHE_HOMEfor CLI smokes. Never mutate live app archives.
Inputs
- Target task: library edit, release verification, downstream readiness, or TUI backport.
- Optional version tag such as
v0.4.0. - Optional downstream app branch paths.
Outputs
- A clean
crawlkitchange or readiness report. - Validation commands and results.
- Explicit compatibility risks for downstream app branches.
- Local binary rebuild notes only when the user asks for app binaries.