Skip to content

hdresearch/seed-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

seed-tools

Linter, compatibility analyzer, and registry index for AI fleet seeds (spec v0.5).

Install

npm install seed-tools

CLI Tools

seed-lint — Validate SEED.md files

# Lint a single file
seed-lint SEED-chat.md

# Lint all seeds in a directory
seed-lint ./seeds/

# JSON output
seed-lint --json ./seeds/

# Strict mode (warnings = errors)
seed-lint --strict SEED.md

Checks:

  • Required fields: id, name, version, spec_version, spec_url, spec_checksum
  • ID format (seed-[a-z0-9-]+)
  • Version format (semver)
  • SHA-256 checksum format
  • Valid status values
  • Array types for capabilities, dependencies, conflicts
  • Markdown body structure

seed-compat — Compatibility analysis

seed-compat SEED-chat.md SEED-contacts.md
seed-compat --json SEED-chat.md SEED-contacts.md

Detects:

  • Capability overlap (both seeds provide same capability)
  • Explicit conflicts (declared in conflicts field)
  • Protocol clashes (same protocol claimed)
  • Requirement satisfaction (can A satisfy B's needs?)

seed-registry — Build a registry index

# Human-readable summary
seed-registry ./seeds/

# Full JSON index
seed-registry --json ./seeds/

Produces:

  • Seed listing with capabilities
  • Capability provider/consumer map
  • Unmet dependency detection
  • Conflict pair detection

Programmatic API

import {
  parseSeedFile,
  lintSeedFile,
  lintDirectory,
  analyzeCompatFiles,
  buildIndex,
} from "seed-tools";

// Parse
const { seed, errors } = parseSeedFile("SEED-chat.md");

// Lint
const result = lintSeedFile("SEED-chat.md");
console.log(result.valid, result.diagnostics);

// Compatibility
const compat = analyzeCompatFiles("SEED-chat.md", "SEED-contacts.md");

// Registry
const index = buildIndex("./seeds/");
console.log(index.capabilityProviders);

SEED.md Format

Seeds use TOML frontmatter between +++ delimiters:

+++
id = "seed-chat"
name = "Chat"
version = "0.5.0"
spec_version = "0.5"
spec_url = "https://specs.vers.sh/seeds/v0.5"
spec_checksum = "a1b2c3d4..."
description = "Core chat messaging"
author = "vers-team"
status = "stable"
capabilities_provided = ["messaging", "threads"]
capabilities_required = ["identity", "storage"]
dependencies = ["seed-identity"]
conflicts = []
protocol = "chat-v1"
tags = ["core"]
+++

# Chat Seed

Markdown body with detailed specification...

Development

npm install
npm run build
npm test

License

MIT

About

Linter, compatibility analyzer, and registry for AI fleet seeds

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors