OpenWriterControle/scripts
Darren Hinde 9625e43d92
feat: OpenCode-compliant agents with centralized metadata system (#151)
* chore: bump version to v0.8.0

* chore: update version to 0.7.1 instead of 0.8.0

* docs: expand comparison table with Oh My OpenCode and additional features

* backup: development context before reorganization

* refactor(context): reorganize development folder

- Remove 7 duplicate files (ui/design files exist in ui/web/)
- Remove 2 redundant READMEs (use navigation.md instead)
- Move react-patterns.md to frontend/react/
- Create frontend/react/navigation.md
- Update 4 navigation files (development, ui, frontend, frontend/react)
- Update developer profile (4 path changes: ui-styling-standards, design-systems, design-assets, animation-patterns)
- Update 3 core context files (visual-development.md, design-iteration.md, file-locations.md)

Result: 29 context files (down from 36), no duplicates, clean structure

Refs: REORGANIZATION_PLAN.md, REORGANIZATION_SUMMARY.md

* docs(context): add frontend delegation guide

- Create when-to-delegate.md with clear decision criteria
- Decision matrix for when to delegate vs. handle directly
- Common patterns and examples
- Red flags and green flags
- Frontend-specialist capabilities reference
- Update frontend and development navigation files

Helps orchestrators decide when to delegate UI work to frontend-specialist subagent.

* feat: enhance developer and advanced profiles with UI, development, and system builder context

- Developer profile: Add UI/UX patterns, development principles, design systems, React patterns, animation patterns, styling standards, and design assets
- Full profile: Add same UI/development context as developer profile for consistency
- Advanced profile: Add comprehensive system builder context including templates, guides, context system standards, and repository management context
- Update profile descriptions to reflect new capabilities
- All context files verified to exist and are properly referenced

* fix: remove duplicate context entries with incorrect paths

- Remove duplicate design-assets, ui-styling-standards, clean-code, animation-patterns, design-systems, react-patterns, and api-design entries that pointed to wrong paths
- Remove non-existent development-readme and mastra-ai-readme entries
- Keep only correct entries with proper file paths
- All registry paths now validated and correct

* feat: add add-context command to registry and all profiles

- Register add-context command in registry.json
- Add command:add-context to all 5 profiles (essential, developer, business, full, advanced)
- Update add-context.md to mention external-context files in .tmp/ directory
- Fix command dependencies to use context IDs instead of full paths
- All registry paths and dependencies validated

* feat: enhance add-context with external context file management

- Add Stage 0: Detect external context files in .tmp/
- Offer options to extract, manage, or harvest external files
- Extract patterns from external context files for use in project intelligence
- Provide management options: update, remove, clean, or harvest
- Add examples showing external context extraction and management
- Update troubleshooting with external context file handling
- Integrate with /context harvest command for permanent context organization

* fix: comprehensive context system audit and restructuring

- Fix 6 command documentation inconsistencies in add-context.md
  * Correct /add-context vs /context harvest command references
  * Simplify Stage 0 workflow from 4 to 2 options
  * Update examples to match actual behavior
  * Remove non-existent operations from delegation section
  * Fix troubleshooting Q&A section

- Restructure registry.json with 4 major improvements
  * Replace 31 duplicate 'navigation' IDs with unique IDs per subfolder
    - core-navigation, development-navigation, openagents-repo-navigation, etc.
  * Add context:openagents-repo/* to developer and full profiles
    - Developers now have repo-specific guides and examples
  * Remove context:to-be-consumed/* from essential, developer, business, full
    - Keep only in advanced profile for system builders
  * Properly scope mastra-ai context via wildcard patterns

Validation Results:
- Registry: 220/220 paths valid, 0 missing dependencies
- Profiles: All appropriately scoped with no duplicate IDs
- Standards: MVI compliance, frontmatter, structure verified
- No regressions: All tests passing

Fixes issues with context organization, command consistency, and profile coverage.

* feat: make agents OpenCode-compliant with centralized metadata system

- Remove invalid OpenCode fields from agent frontmatter (id, category, type, version, author, tags, dependencies, context, permissions)
- Keep only valid OpenCode fields (name, description, mode, temperature, tools, permission)
- Create centralized metadata file (.opencode/config/agent-metadata.json) for registry metadata
- Update auto-detect script to merge frontmatter + metadata into registry
- Fix YAML parsing errors (orphaned list items after valid fields)
- Add comprehensive documentation for new metadata system
- All 27 agents now OpenCode-compliant and callable by name

Fixes validation errors:
- Extra inputs are not permitted (9 fields)
- Invalid temperature type (string instead of number)

Benefits:
- OpenCode validation passes without errors
- Registry maintains complete metadata (id, name, category, tags, dependencies)
- Single source of truth for agent metadata
- Easier to maintain and update dependencies
- Backward compatible with existing tools

* fix: correct context dependency IDs to match registry

- Update context dependencies to use actual registry IDs
- Fix: context:core/standards/code → context:standards-code
- Fix: context:core/workflows/task-delegation → context:workflows-delegation
- Fix: context:delegation → context:delegation-ref
- Fix: context:review → context:review-ref
- Fix: invalid dependency in agent-metadata.md documentation
- All registry validation now passes

* chore: add navigation files and update workflow context

- Add navigation.md files for all context directories
- Update design-iteration.md and task-delegation.md workflows
- Clean up backup files from metadata fixes

* fix: install dependencies in validate-registry workflow

The validation script requires the 'glob' package which is in devDependencies.
CI was failing because dependencies were never installed before running validation.

* fix: show validation errors in CI logs

Use tee to display validation output in logs while also saving to file.
This makes debugging CI failures much easier.

* fix: remove duplicate pull_request trigger

The workflow was running twice (pull_request + pull_request_target) causing
duplicate checks. Keep only pull_request_target to support bot PRs and allow
writing to PR branches.

* chore: trigger CI re-run with fixed workflow

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-31 02:15:12 +00:00
..
bridge fix(context): Add frontmatter to context files with missing metadata (#97) 2026-01-17 21:29:48 +00:00
check-context-logs feat: Complete registry and profile overhaul for consistent component distribution (#87) 2026-01-11 22:43:09 +00:00
development feat: Complete registry and profile overhaul for consistent component distribution (#87) 2026-01-11 22:43:09 +00:00
docs feat: add PR template and automated doc sync workflow (#40) 2025-12-08 22:27:01 +00:00
external-context feat: add ExternalScout and optimize ContextScout with research-backed patterns (#128) 2026-01-29 11:16:12 +00:00
maintenance feat: add PR template and automated doc sync workflow (#40) 2025-12-08 22:27:01 +00:00
prompts feat: Complete registry and profile overhaul for consistent component distribution (#87) 2026-01-11 22:43:09 +00:00
registry feat: OpenCode-compliant agents with centralized metadata system (#151) 2026-01-31 02:15:12 +00:00
testing feat: Complete registry and profile overhaul for consistent component distribution (#87) 2026-01-11 22:43:09 +00:00
tests refactor: Rename repository to OpenAgents Control (#100) 2026-01-18 09:31:35 +00:00
validation feat: Complete registry and profile overhaul for consistent component distribution (#87) 2026-01-11 22:43:09 +00:00
versioning feat: add PR template and automated doc sync workflow (#40) 2025-12-08 22:27:01 +00:00
auto-detect-components.sh feat: Complete registry and profile overhaul for consistent component distribution (#87) 2026-01-11 22:43:09 +00:00
README.md refactor: Rename repository to OpenAgents Control (#100) 2026-01-18 09:31:35 +00:00
validate-registry.sh fix: resolve jq null iteration error in install script (#88) 2026-01-12 11:09:33 +00:00

Scripts

This directory contains utility scripts for the OpenAgents Control system, organized by function.

Directory Structure

scripts/
├── registry/              # Component registry management
│   ├── auto-detect-components.sh
│   ├── register-component.sh
│   ├── validate-component.sh
│   └── validate-registry.sh
├── validation/            # Context and validation scripts
│   └── validate-context-refs.sh
├── versioning/            # Version management
│   └── bump-version.sh
├── maintenance/           # Cleanup and maintenance
│   ├── cleanup-stale-sessions.sh
│   └── uninstall.sh
├── development/           # Development utilities
│   ├── dashboard.sh
│   └── demo.sh
├── testing/               # Test runner
│   └── test.sh
├── check-context-logs/    # Context logging utilities
├── prompts/               # Prompt management
└── tests/                 # Installer test scripts

Available Scripts

Testing

  • testing/test.sh - Main test runner with multi-agent support
    • Run all tests: ./scripts/testing/test.sh openagent
    • Run core tests: ./scripts/testing/test.sh openagent --core (7 tests, ~5-8 min)
    • Run with specific model: ./scripts/testing/test.sh openagent opencode/grok-code-fast
    • Debug mode: ./scripts/testing/test.sh openagent --core --debug

See tests/ subdirectory for installer test scripts.

Registry Management

  • registry/auto-detect-components.sh - Auto-detect new components in .opencode/
  • registry/register-component.sh - Register a new component in the registry
  • registry/validate-component.sh - Validate component structure and metadata
  • registry/validate-registry.sh - Validate all registry paths

Validation

  • validation/validate-context-refs.sh - Validate context references in markdown files

Versioning

  • versioning/bump-version.sh - Bump version (alpha, beta, rc, patch, minor, major)

Maintenance

  • maintenance/cleanup-stale-sessions.sh - Remove stale agent sessions older than 24 hours
  • maintenance/uninstall.sh - Uninstall OpenCode agents

Development

  • development/demo.sh - Interactive demo of repository structure
  • development/dashboard.sh - Launch test results dashboard

Session Cleanup

Agent instances create temporary context files in .tmp/sessions/{session-id}/ for subagent delegation. These sessions are automatically cleaned up, but you can manually remove stale sessions:

# Clean up sessions older than 24 hours
./scripts/maintenance/cleanup-stale-sessions.sh

# Or manually delete all sessions
rm -rf .tmp/sessions/

Sessions are safe to delete anytime - they only contain temporary context files for agent coordination.

Usage Examples

Run Tests

# Run core test suite (fast, 7 tests, ~5-8 min)
./scripts/testing/test.sh openagent --core

# Run all tests for OpenAgent
./scripts/testing/test.sh openagent

# Run tests with specific model
./scripts/testing/test.sh openagent anthropic/claude-sonnet-4-5

# Run core tests with debug mode
./scripts/testing/test.sh openagent --core --debug

Registry Management

# Auto-detect new components
./scripts/registry/auto-detect-components.sh --dry-run

# Add new components to registry
./scripts/registry/auto-detect-components.sh --auto-add

# Validate registry
./scripts/registry/validate-registry.sh -v

# Register a specific component
./scripts/registry/register-component.sh path/to/component

# Validate a component
./scripts/registry/validate-component.sh path/to/component

Maintenance

# Clean stale sessions
./scripts/maintenance/cleanup-stale-sessions.sh

# Uninstall OpenCode agents
./scripts/maintenance/uninstall.sh

Development

# Run interactive demo
./scripts/development/demo.sh

# Launch test results dashboard
./scripts/development/dashboard.sh

Versioning

# Bump version
./scripts/versioning/bump-version.sh patch
./scripts/versioning/bump-version.sh minor
./scripts/versioning/bump-version.sh major
./scripts/versioning/bump-version.sh alpha

Core Test Suite

The core test suite is a subset of 7 carefully selected tests that provide ~85% coverage of critical OpenAgent functionality in just 5-8 minutes.

Why Use Core Tests?

  • ✅ Fast feedback - 5-8 minutes vs 40-80 minutes for full suite
  • ✅ Prompt iteration - Quick validation when updating agent prompts
  • ✅ Development - Fast validation during development cycles
  • ✅ Pre-commit - Quick checks before committing changes

What's Covered?

  1. Approval Gate - Critical safety rule
  2. Context Loading (Simple) - Most common use case
  3. Context Loading (Multi-Turn) - Complex scenarios
  4. Stop on Failure - Error handling
  5. Simple Task - No unnecessary delegation
  6. Subagent Delegation - Proper delegation when needed
  7. Tool Usage - Best practices

When to Use Full Suite?

Use the full test suite (71 tests) for:

  • 🔬 Release validation
  • 🔬 Comprehensive testing
  • 🔬 Edge case coverage
  • 🔬 Regression testing

See evals/agents/openagent/CORE_TESTS.md for detailed documentation.