Skip to content

Conversation

@pchalamet
Copy link
Contributor

Summary

  • migrate built-in extensions to bundled FScript scripts under src/Terrabuild/Scripts
  • integrate descriptor-based FScript invocation in Terrabuild.Scripting
  • move extension protocol/contracts into Terrabuild.Scripting
  • remove Terrabuild.Extensions and Terrabuild.Extensibility
  • update core wiring (Configuration, GraphPipeline/Node, GraphPipeline/Batch) to new scripting contract
  • add/expand scripting tests for exports, flags, dispatch/default resolution, and required arg behavior
  • update DocGen integration for script-based docs parity
  • support workspace-local and HTTPS script sources

Structural changes

  • added script registry: src/Terrabuild/Scripts/Registry.fs
  • added protocol/template doc: src/Terrabuild/Scripts/EXTENSION-PROTOCOL.md
  • removed projects:
    • src/Terrabuild.Extensions/**
    • src/Terrabuild.Extensibility/**

Validation

  • make self passes
  • make smoke-tests passes
  • scripting tests pass

Notes

  • built-in extensions keep @... identifiers
  • extension scripts now follow context-first protocol with descriptor flags (dispatch, default, batchable, cacheability)

@pchalamet pchalamet merged commit 3d62607 into main Feb 10, 2026
2 checks passed
@pchalamet pchalamet deleted the feature/fscript branch February 10, 2026 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant