Skip to content

Releases: masterkeysrd/warp

v0.0.5

Choose a tag to compare

@masterkeysrd masterkeysrd released this 17 Oct 02:49

Release v0.0.5

This release standardizes the project context filename on AGENTS.md, completes Toolkit and Plugin resolution in the runtime registry and loader, strengthens workspace validation, and expands the warp CLI with new inspection, rendering, and formatting commands.


⚠️ Breaking Changes

Canonical Context File Renamed to AGENTS.md

  • The canonical project context file has been renamed from AGENT.md to AGENTS.md (ContextFileName = "AGENTS.md") across the specification, parser, loader, plugins, and examples, aligning with the open AGENTS.md ecosystem standard.
  • Legacy AGENT.md files are no longer inferred as Context resources without explicit YAML front-matter. Rename existing AGENT.md files in your workspace and projects to AGENTS.md.

🚀 Key Highlights

1. Registry, Resolution & Validation

  • Toolkit Expansion (Kind: Toolkit): Agent.spec.tools can now reference Toolkit resources alongside individual Tool resources. Referenced toolkits expand both $ref tool pointers and inline tool definitions (ToolSpec.Description added) prior to evaluating workspace and agent tool policies.
  • Glob Pattern Support for Agent Capabilities: Agent.spec.skills, Agent.spec.commands, and Agent.spec.subagents now support glob patterns (e.g. skills/*, review-*, plugin-ns/Skill/*) in addition to exact short names, qualified names, and *.
  • Subdirectory Project Resolution: Registry.ProjectFromPath now resolves any nested subdirectory path to its owning project using longest path-prefix matching.
  • Base Registry Plugin Visibility: Resources imported from external plugins (Workspace.spec.plugins) are now accessible from the base Registry scope while preserving strict isolation between sibling project namespaces.
  • Deterministic Resource & Project Ordering: Registry.Resources(), Registry.ListProjects(), Registry.ListResources(), and ScopedRegistry.ListResources() now return deterministically sorted slices.
  • Comprehensive Registry.Validate():
    • Validates all 10 resource kinds (Workspace, Context, Plugin, Agent, Skill, Command, ModelProvider, Tool, Toolkit, MCP).
    • Verifies Agent.spec.extends parent existence and detects inheritance cycles during validation.
    • Validates Workspace.spec.defaultAgent and Workspace.spec.defaultProvider references.
    • Validates Toolkit.spec.tools ($ref targets and inline tool schemas) and Plugin.spec.exports.

2. Loader, Plugins & Fetcher

  • Workspace Plugin Loading & Lockfile Verification: LoadWorkspace now loads external and local plugins declared in Workspace.spec.plugins, enforces both Plugin.spec.exports and WorkspacePlugin.imports (include / exclude) filters, and verifies directory integrity against warp.lock SHA-256 hashes when present.
  • Flat-Root Authority Rule: When a workspace operates in single-project flat-root mode (projects: ["."]), WORKSPACE_ROOT/.agents/ is loaded directly into the project's local namespace rather than being duplicated into the workspace namespace.
  • Context.spec.resources Loading: LoadWorkspace now loads explicit resource files and directories declared in Context.spec.resources into the project's namespace.
  • Extended Git Reference Support: internal/fetcher now supports cloning plugin repositories at branches and full or short commit SHAs in addition to tags.

3. CLI & JSON Schema Tooling

  • New warp CLI Subcommands:
    • warp list [path] — lists all discovered projects and resources in a workspace.
    • warp render [-dir <path>] <ref> [args...] — renders the instructions template for an Agent, Command, Skill, or Context.
    • warp fmt [-w] <file...> — formats WARP Markdown front-matter and YAML files canonically.
    • warp validate [path] — surfaces non-fatal loader warnings alongside resource counts and validation results.
    • warp get --include <Kind/name> <package> — supports repeatable --include flags to selectively import plugin resources non-interactively.
  • JSON Schema: Added Context schema generation to cmd/schema-gen and regenerated schema/warp.json.

📦 Dependency Updates

Direct Dependencies

  • github.com/go-git/go-git/v5: v5.19.2 → v5.19.3

Indirect Dependencies

  • Charm Ecosystem:
    • charm.land/bubbletea/v2: v2.0.9 → v2.1.0
    • github.com/charmbracelet/ultraviolet: v0.0.0-20260903151058-ae99b731b8c5 → v0.0.0-20261008173134-6b8d4baf91b4
    • github.com/charmbracelet/x/ansi: v0.11.8 → v0.11.9
  • Go Standard Library Extensions (golang.org/x/*):
    • golang.org/x/crypto: v0.56.0 → v0.58.0
    • golang.org/x/net: v0.58.0 → v0.61.0
    • golang.org/x/sync: v0.22.0 → v0.24.0
    • golang.org/x/sys: v0.47.0 → v0.49.0
  • Git, Crypto & Utilities:
    • github.com/Microsoft/go-winio: v0.6.2 → v0.6.4
    • github.com/ProtonMail/go-crypto: v1.4.1 → v1.5.2
    • github.com/dustin/go-humanize: v1.0.1 → v1.1.0
    • github.com/go-git/go-billy/v5: v5.9.1 → v5.9.2
    • github.com/klauspost/cpuid/v2: v2.4.0 → v2.4.1
    • github.com/mattn/go-runewidth: v0.0.29 → v0.0.31
    • github.com/pb33f/ordered-map/v2: v2.3.1 → v2.3.2
    • github.com/pjbgf/sha1cd: v0.6.0 → v0.7.0
    • github.com/xo/terminfo: v1.0.0 → v1.2.0

🔨 Commits

  • e2426ad - refactor!: rename canonical context file from AGENT.md to AGENTS.md
  • 51fbac4 - chore(deps): update dependencies
  • 18d571c - feat(registry): add toolkit expansion, glob capabilities, and stronger validation
  • ee97189 - feat(loader): support plugin loading, lock verification, flat-root rule, and git refs
  • efb48b8 - feat(cli): add list, render, and fmt commands and regenerate schema
  • 369d04c - docs: update README, package doc, and specification

Full Changelog: v0.0.4...v0.0.5

v0.0.4

Choose a tag to compare

@masterkeysrd masterkeysrd released this 03 Sep 22:27

Release v0.0.4

This release includes routine dependency updates to ensure stability, security, and compatibility with upstream packages.

📦 Dependency Updates

Direct Dependencies

  • github.com/go-git/go-git/v5: v5.19.1 → v5.19.2

Indirect Dependencies

  • Charm Ecosystem:
    • charm.land/bubbles/v2: v2.0.0 → v2.2.1
    • charm.land/bubbletea/v2: v2.0.2 → v2.0.9
    • charm.land/lipgloss/v2: v2.0.1 → v2.0.6
    • github.com/charmbracelet/colorprofile: v0.4.2 → v0.4.3
    • github.com/charmbracelet/ultraviolet: v0.0.0-20260205113103-524a6607adb8 → v0.0.0-20260903151058-ae99b731b8c5
    • github.com/charmbracelet/x/ansi: v0.11.6 → v0.11.8
    • github.com/charmbracelet/x/exp/strings: v0.0.0-20240722160745-212f7b056ed0 → v0.1.0
  • Go Standard Library Extensions (golang.org/x/*):
    • golang.org/x/crypto: v0.50.0 → v0.56.0
    • golang.org/x/net: v0.53.0 → v0.58.0
    • golang.org/x/sync: v0.19.0 → v0.22.0
    • golang.org/x/sys: v0.43.0 → v0.47.0
  • Git & Network Utilities:
    • github.com/go-git/go-billy/v5: v5.9.0 → v5.9.1
    • github.com/skeema/knownhosts: v1.3.1 → v1.3.3
    • github.com/kevinburke/ssh_config: v1.2.0 → v1.6.0
    • github.com/cloudflare/circl: v1.6.3 → v1.6.5
    • github.com/ProtonMail/go-crypto: v1.1.6 → v1.4.1
  • General Utilities & Parsers:
    • github.com/buger/jsonparser: v1.1.2 → v1.6.1
    • github.com/catppuccin/go: v0.2.0 → v0.3.0
    • github.com/cyphar/filepath-securejoin: v0.6.1 → v0.7.0
    • github.com/klauspost/cpuid/v2: v2.3.0 → v2.4.0
    • github.com/lucasb-eyer/go-colorful: v1.3.0 → v1.4.1
    • github.com/mattn/go-runewidth: v0.0.20 → v0.0.29
    • github.com/sergi/go-diff: v1.3.2-0.20230802210424-5b0b94c5c0d3 → v1.4.0
    • github.com/xo/terminfo: v0.0.0-20220910002029-abceb7e1c41e → v1.0.0
    • dario.cat/mergo: v1.0.0 → v1.0.2
    • go.yaml.in/yaml/v4: v4.0.0-rc.2 → v4.0.0-rc.6

🔨 Commits

  • 6cea7d4 - chore(deps): update dependencies

Full Changelog: v0.0.3...v0.0.4

v0.0.3

Choose a tag to compare

@masterkeysrd masterkeysrd released this 20 Jul 05:10
44410db

WARP v0.0.3 Release Notes

We are excited to announce the release of WARP v0.0.3. This is a major update that transitions WARP from a basic declarative format to a full-fledged agent engineering platform.

This release introduces a robust Plugin Ecosystem, native Model Context Protocol (MCP) integration, fine-grained Security & Tool Policies, hierarchical Subagents Delegation, and a highly advanced Context-Aware Templating Engine.


🚀 Key Highlights

1. Plugin Ecosystem & Package Management

WARP now supports modular packaging and distribution of your agents, skills, commands, and tools.

  • CLI Package Installer: Use the new warp get command to fetch, configure, and install plugins directly from remote repositories.
  • Interactive Configuration: Powered by huh, the CLI prompts you to select exactly which resources to import.
  • Integrity Lockfile (warp.lock): Computes cryptographic checksums of the plugin tree to guarantee workspace supply-chain security.
  • Post-Install Setup Hooks: Supports lifecycle execution hooks (hooks.postInstall) to automatically download assets or compile plugin binaries upon installation.
  • Developer DX (Live Linking): Specifying a relative or absolute local directory as the plugin source bypasses the global cache and enables real-time hot-reloading during development.

2. Model Context Protocol (MCP) Integration

Native integration of the Model Context Protocol allows agents to dynamically interact with external development servers.

  • New Kind: MCP Resource: Declare MCP server configurations using a simple schema.
  • SSE & Stdio Transports: Connect to servers via shell execution (stdio) or HTTP streams (SSE) with support for custom environment variables.
  • Resource Filters: Use policies.tools, policies.prompts, and policies.resources with include/exclude glob lists to filter what the MCP server exposes to agents.
  • Annotations & Safety Profiles: Assign safety labels (like isDangerous or isOpenWorld) to all exposed tools, with key overrides for individual tools.
---
apiVersion: warp/v1alpha1
kind: MCP
metadata:
  name: github-mcp
spec:
  type: stdio
  command: ["npx", "-y", "@modelcontextprotocol/server-github"]
  env:
    GITHUB_PERSONAL_ACCESS_TOKEN: "${GITHUB_TOKEN}"
  policies:
    tools:
      include: ["get_issue", "search_code"]
      exclude: ["create_or_update_file"]
---

3. Fine-Grained Security & Tool Policies

Administrators and users can now enforce strict permission boundaries on tool execution.

  • Agent & Workspace Policies: Restrict tool usage at the workspace level (WORKSPACE.md) or override them per-agent (spec.policies).
  • Dangerous Tool Prevention: Setting allowDangerous: false blocks execution of any tool annotated as dangerous.
  • Open-World Access Limits: Restrict tool executions that make uncontrolled network requests or touch the internet.
  • Inheritance & Merging: Child agents automatically inherit, combine, and resolve parent policies during agent resolution.

4. Hierarchical Subagents Delegation

Agents can now collaborate and spawn subagents under clean control flow structures.

  • Delegation Reference Lists: List allowable subagents (spec.subagents) that an agent is permitted to delegate tasks to.
  • Trigger Filtering: Use spec.triggers to define what architectural components (e.g. human, agent, system) are allowed to invoke a particular agent.
  • Wildcard Imports: Support for wildcards (*) to import all commands, skills, or subagents.

5. Rich Model Provider Configurations

LLM Provider specifications have been expanded to capture modern production capabilities and cost tracking.

  • Custom HTTP Headers: Configure custom authentication or tracking headers for all outgoing API requests.
  • Pricing Matrices: Track token usage costs (cost), cache read/write discounts, and conditional pricing tiers based on context window size.
  • Thinking Token Settings: Define sampling bounds and strategy controls (like toggle, effort, budget) for reasoning-based models.
  • Modality Support: Declare accepted input and output modalities (e.g., text, images, video) per-model.

🛠️ Developer Experience & Tooling

Advanced Context-Aware Templating

The templating engine now injects highly structured hierarchical view objects into your instructions.

  • Workspace & Project Directives: Access workspace roots, project directories, and local rules files (AGENT.md).
  • Shorthand Arguments Mappings: Commands map user args to hints automatically (e.g. $ticket maps to the first argument if configured).
  • Self-Aware Metadata: Agents and skills can inspect their own metadata (e.g. {{.Agent.Name}}, {{.Skill.Dir}}).

New Formatting Tooling

  • Format API: Serialize parsed WARP structures back into standard WARP Markdown.
  • Resilient Directory Loader: The filesystem loader now skips files lacking YAML front-matter (like READMEs) inside .agents/ rather than throwing errors.
  • Reflected JSON Schema: Dynamically updates schema/warp.json based on Go struct reflection for VS Code validation and autocompletion.

📈 Commits Summary

  • Plugin Architecture: Commits 6d02fbc (Plugin management), f0f2a88 (Local files & deduplication), 11ea062 (Plugin hooks and triggers for skills), d02ee3d (Validation rules).
  • MCP Integration: Commits 12acdcf (MCP support), 6128916 (MCP policies).
  • Security Policies: Commits c079fac (Tool policies), 90b0178 (Agent tool policies).
  • Subagents: Commits 7c89ee6 (Subagents support), 58a5cd1 (Filter on trigger type), 44410db (Wildcard support).
  • Model Provider: Commits 19b6cc7 (Headers/config), 0b2bf1d (Thinking config and cost), e564f85 (Output schema), 0af54d9 (Advance auth).
  • Templating & Context: Commits 1d6863a (Workspace templating), 83c8236 (Template paths/names), eb09684 (Global lists rendering).
  • CLI & Loader: Commits dc32745 (CLI get update), f28a1c7 (Custom resource path), 81126c7 (Skip files without front matter).
  • Formatting: Commits 37c73b5 (Format API), d014c37 (Formatter improvements).

v0.0.2 — Protocol Power & Developer Experience

Choose a tag to compare

@masterkeysrd masterkeysrd released this 30 May 04:49
6930361

This release introduces significant enhancements to the WARP specification and its reference implementation, focusing on architectural control, reliability, and ease of use.

🚀 New Features

  • Unified Templating System: Resources now support a powerful templating engine.
    • Shorthand Syntax: Use $Name, $1, or ${hintName} directly in Markdown instructions.
    • Flattened Context: Access resource properties (like .Models or .Skills) without deep nesting.
    • System Globals: Support for runtime-injected variables like $PWD.
  • Agent Triggers: Added the triggers field to AgentSpec. Define whether an agent is human-facing ("human"), internal-only ("agent"), or triggered by the underlying environment ("system").
  • Model Fallbacks: Replaced the singular model field with a models array. Runtimes can now implement high-availability by falling back through a prioritized list of LLM identifiers.
  • Command Enhancements: Commands can now restrict the allowed tools and specify preferred models (e.g., using a cheaper model for specific tasks).
  • Command Hints: Added hints to CommandSpec to provide metadata for UI autocompletion and positional template substitution.

🛠 Tooling & DX

  • Warp CLI: Initial release of the warp command-line tool.
    • warp validate [path]: Perform deep semantic validation of workspaces, including broken cross-reference detection.
  • JSON Schema: Added a comprehensive schema at schema/warp.json. Provides real-time autocompletion, type-checking, and documentation-on-hover in IDEs like VS Code.
  • Labels Support: Added metadata.labels to all resources for better categorization and filtering.

📚 Documentation & Examples

  • examples/simple-assistant: A new, fully-commented example workspace demonstrating the latest features.
  • SECURITY.md: Formalized security guidelines for tool execution and credential management.
  • CONTRIBUTING.md: Onboarding guide for new contributors.

How to Upgrade

If you are using the Go library, update your dependency:

go get github.com/masterkeysrd/warp@v0.0.2

(Note: Replacing the model string with the models array in Agent and Command specs is a breaking change from 0.0.1.)

v0.0.1

Choose a tag to compare

@masterkeysrd masterkeysrd released this 30 May 02:45
8776f69

This is the release of Warp, a provider-agnostic, declarative protocol for defining and orchestrating AI agents and their supporting resources.

Highlights

  • Protocol Implementation: Established the core Workspace Agent Resource Protocol (WARP).
  • Resource Management: Introduced a robust system for defining, loading, and validating agents, skills, commands, tools, and MCP servers using a declarative Markdown+YAML format.
  • Workspace Discovery: Implemented hierarchical workspace discovery and project mapping.
  • Provider-Agnostic: Designed from the ground up to be independent of specific LLM providers or orchestration runtimes.
  • Open Source: Released under the Apache License 2.0 (LICENSE).

Getting Started
Check out the README.md (README.md) to learn how to integrate Warp into your Go projects and start defining your own agentic environments.