@@ -175,6 +175,42 @@ export interface DevframeCliOptions {
175175 flags ?: CliFlagsSchema
176176}
177177
178+ /**
179+ * Default dock attributes for the iframe entry a hub synthesizes when it
180+ * mounts this devframe. Framework-neutral metadata only — the hub layer
181+ * (`mountDevframe`) merges these beneath its per-mount `dock` overrides,
182+ * which in turn sit beneath the locked, derived `id` / `type` / `url`.
183+ *
184+ * Every field is optional. `title` / `icon` default to the definition's
185+ * `name` / `icon` when omitted here; the rest are unset by default.
186+ * Standalone adapters (`cli` / `spa` / `build`) ignore this entirely.
187+ */
188+ export interface DevframeDockDefaults {
189+ /** Dock entry title. Defaults to the definition's `name`. */
190+ title ?: string
191+ /** Dock entry icon. Defaults to the definition's `icon`. */
192+ icon ?: string | { light : string , dark : string }
193+ /**
194+ * Sort weight within the dock; higher sorts earlier.
195+ * @default 0
196+ */
197+ defaultOrder ?: number
198+ /**
199+ * Category the entry groups under in the dock.
200+ * @default 'default'
201+ */
202+ category ?: string
203+ /**
204+ * Conditional-visibility expression (same syntax as command `when`
205+ * clauses). Set to `'false'` to hide the entry unconditionally.
206+ */
207+ when ?: string
208+ /** Badge text rendered on the dock icon (e.g. an unread count). */
209+ badge ?: string
210+ /** Id of the dock group this entry collapses under, if any. */
211+ groupId ?: string
212+ }
213+
178214export interface DevframeSpaOptions {
179215 base ?: string
180216 /**
@@ -215,6 +251,15 @@ export interface DevframeDefinition {
215251 /** One-line summary of what the tool does. */
216252 description : string
217253 icon ?: string | { light : string , dark : string }
254+ /**
255+ * Default dock attributes applied when a hub mounts this devframe as an
256+ * iframe dock entry. Consulted only by hub adapters (`mountDevframe`),
257+ * which merge these beneath the per-mount `dock` overrides; standalone
258+ * adapters (`cli` / `spa` / `build`) ignore it.
259+ *
260+ * @see {@link DevframeDockDefaults }
261+ */
262+ dock ?: DevframeDockDefaults
218263 /**
219264 * Mount path override. Defaults depend on the adapter:
220265 * `/` for standalone (`cli` / `spa` / `build`), `/__<id>/` for hosted
0 commit comments