Skip to content

Experimental support for package tools#675

Merged
chrisgregan merged 3 commits into
mainfrom
package-api
Mar 30, 2026
Merged

Experimental support for package tools#675
chrisgregan merged 3 commits into
mainfrom
package-api

Conversation

@chrisgregan
Copy link
Copy Markdown
Contributor

This pull request implements a major refactor of the "extension" system, replacing the concept of "extensions" with "packages" throughout the codebase and documentation. It updates interfaces, service contracts, global usings, resource strings, and developer documentation to use the new terminology and APIs. The changes also introduce new user interface resources for package publishing and installation confirmation dialogs.

The most important changes are:

Core architectural refactor:

  • Replaces all references to "extensions" with "packages" across interfaces, services, and documentation, including renaming methods and properties such as GetBundledExtensionFoldersGetBundledPackageFolders, IExtensionServiceIPackageService, and related types and parameters. [1] [2] [3] [4] [5] [6]
  • Removes the entire Celbridge.Extensions namespace and its types (such as DocumentContribution, Extension, ExtensionInfo, etc.), signaling a complete migration to the new Celbridge.Packages system. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

User interface and resource updates:

  • Adds new resource strings for package publishing and installation confirmation dialogs, enabling user prompts for destructive actions.
  • Introduces the IConfirmActionCommand interface and ConfirmActionResult record to standardize confirmation dialogs in the user interface.

Developer documentation:

  • Updates developer documentation to describe the new "package" system, including folder structure, manifest format, publishing/installing workflow, and the importance of user confirmation for destructive actions.

Dependencies:

  • Adds the Tomlyn package to Celbridge.Tools for TOML manifest parsing, supporting the new package manifest format.

These changes collectively modernize and clarify the extension mechanism in the codebase, making it more robust, user-friendly, and aligned with common package management practices.

@chrisgregan chrisgregan merged commit 4045950 into main Mar 30, 2026
7 checks passed
@chrisgregan chrisgregan deleted the package-api branch March 30, 2026 23:52
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