diff --git a/docs/concepts/contributing.mdx b/docs/concepts/contributing.mdx deleted file mode 100644 index c092201..0000000 --- a/docs/concepts/contributing.mdx +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Contributing -description: Local development workflow for sitectl core and plugins. ---- - -## Plugin Development - -`sitectl` has a core binary and optional plugin binaries named `sitectl-`. - -The current local development plugin chain in this workspace is: - -- `sitectl` -- `sitectl-isle` -- `sitectl-drupal` - -Core `sitectl` owns the top-level operator-facing command shape. Plugins extend that behavior through hidden extension commands that are dispatched based on the active context plugin. - -Examples: - -- `sitectl debug` -- `sitectl component describe` -- `sitectl component set isle/fcrepo` - -When a context belongs to `isle`, core `sitectl` routes the request to `sitectl-isle`. The ISLE plugin can then extend the result further by invoking included plugins such as `sitectl-drupal`. - -## Local Install Workflow - -For local development, install the binaries into `/usr/local/bin` so the core binary can discover and invoke the plugin binaries through `PATH`. - -Run this from the core repo: - -```bash -make install -``` - -That target will: - -1. Build and install `sitectl` -2. Change into `../sitectl-isle` and run `make install` -3. Change into `../sitectl-drupal` and run `make install` - -The plugin `install` targets run `make work` before building so they use the local core `sitectl` checkout during development. - -If you are only working on a plugin, you can also install it directly: - -```bash -cd ../sitectl-isle -make install -``` - -```bash -cd ../sitectl-drupal -make install -``` - -## Why Use `make install` - -This matters for plugin chaining. - -If you only rebuild `sitectl` locally but do not install the plugin binaries into a directory on `PATH`, core command dispatch will not see the current local plugin builds. Installing all three binaries keeps the whole stack aligned while you work on: - -- core command routing in `sitectl` -- stack logic in `sitectl-isle` -- Drupal-specific extensions in `sitectl-drupal`