Skip to main content

devfile

Devfile 2.3: describe cloud development environments with components, commands and events in a devfile.yaml. Covers Devfile 2.3. Use when writing a devfile. Triggers: devfile.

Source facts

Repository
ScaleDockHQ/scaledock-skills
Last source activity
October 9, 2026 at 12:46
Detected SKILL.md language
English
Stars
2
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
5 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
devfile
description
Devfile 2.3: describe cloud development environments with components, commands and events in a devfile.yaml. Covers Devfile 2.3. Use when writing a devfile. Triggers: devfile.
license
MIT
metadata
{"author":"ScaleDockHQ","version":"1.1.0","kind":"standard"}
# Devfile The Devfile 2.3.0 schema from the Devfile project (CNCF), read from the devfile/api repository at the v2.3.0 tag, together with the Devfile 2.3.0 authoring guides published on devfile.io, read from their Markdown source in the devfile/devfile-web repository. **Follow the workflow below step by step.** Every rule here comes from a source in [Sources](#sources). Quoted requirements are sentences taken from the pinned text, labelled with the section they come from. When a rule and the pinned source disagree, the source wins; when the source has a newer revision than the pin, follow the refresh steps. ## Inputs (fill in, or ask before starting) - Role: Devfile author, or a tool that reads devfiles to build development environments (for example a devworkspace operator or an IDE integration). - Target version: Devfile 2.3 (current). See [`references/versions.md`](references/versions.md). - Revision: the pinned revision in [Sources](#sources), unless the user names another. - Sources: when refreshing this skill, re-read every URL in [Sources](#sources) and check the publisher for a newer revision or version line. ## Invariants 1. **Creating devfiles, Procedure.** "`schemaVersion` is the only required root element" 2. **Adding components.** "Each component in a single devfile must have a unique name and use one of the objects: `container`, `kubernetes`, `openshift`, `image` or `volume`." 3. **commands[].id.** "Mandatory identifier that allows referencing this command in composite commands, from a parent, or in events." 4. **components[].container.endpoints[].targetPort.** "The same port cannot be used by two different container components." 5. **components[].container.endpoints[].secure.** "Describes whether the endpoint should be secured and protected by some authentication process. This requires a protocol of `https` or `wss`." 6. **Creating devfiles, Procedure.** "If a `container` entity is defined, an `image` property must be specified" 7. **Creating devfiles, Procedure.** "An `exec` entity must be defined with a `commandLine` string and a reference to a `component`" 8. **Adding a command group, Procedure.** "At most, there can only be one default command for each group kind." 9. **Adding an exec command.** "The `component` attribute value must correspond to an existing container component name." 10. **Adding projects, Procedure.** "The path must be relative to the `/projects/` directory, and it cannot leave the `/projects/` directory." ## Workflow 1. **Pick the version.** Use the current line unless a named consumer needs a supported one. Do not author a legacy line. Emit a preview only when its posture is build and the user asked for that draft. -> [`references/versions.md`](references/versions.md) ✓ The target version is recorded, and it is not a legacy line. 2. **Apply the pinned requirements.** Walk the quotes in [`references/requirements.md`](references/requirements.md) and implement each one that applies to the role. -> [`references/requirements.md`](references/requirements.md) ✓ Each applicable quote is either implemented or recorded as out of scope for the role, with the section it came from. 3. **Upgrade** (only when asked). Follow the upgrade section from the source line to the target. -> [`references/versions.md`](references/versions.md) ✓ The result cites the target line and no longer depends on a requirement that only the old line stated. ## Verify before done - [ ] The artifact cites the target line's revision from [Sources](#sources). - [ ] Every applicable quoted requirement in [`references/requirements.md`](references/requirements.md) holds. - [ ] Nothing from a preview line is emitted unless its posture is build and the user opted in. ## Reference index - **`references/versions.md`**: every version line, which one to use, and how to upgrade. Load for steps 1 and 3. - **`references/requirements.md`**: quotes taken from the pinned specification, grouped by source. Load for step 2. ## Related skills Install related spec skills by name with `npx skills add ScaleDockHQ/scaledock-skills --skill <name>`: `yaml`, `json-schema`, `dockerfile`, `kubernetes-api-conventions`. ## Sources Status uses the publishing body's own maturity term. Checked is the date the source was last read. - [Devfile schema 2.3.0](https://raw.githubusercontent.com/devfile/api/c088cf36a78ddadb8a45b951a2e7214a2ef2da26/schemas/latest/devfile.json): Specification, Devfile schema 2.3.0 (devfile/api v2.3.0, commit c088cf3), checked 2026-10-06. - [Devfile 2.3.0 docs: Adding components](https://raw.githubusercontent.com/devfile/devfile-web/5e4115c7cb868fc52e9898268dd0c93e6292c445/libs/docs/src/docs/2.3.0/adding-components.md): Documentation, 2.3.0 docs (devfile-web main at commit 5e4115c, 2026-09-27), checked 2026-10-06. - [Devfile 2.3.0 docs: Creating devfiles](https://raw.githubusercontent.com/devfile/devfile-web/5e4115c7cb868fc52e9898268dd0c93e6292c445/libs/docs/src/docs/2.3.0/create-devfiles.md): Documentation, 2.3.0 docs (devfile-web main at commit 5e4115c, 2026-09-27), checked 2026-10-06. - [Devfile 2.3.0 docs: Adding a command group](https://raw.githubusercontent.com/devfile/devfile-web/5e4115c7cb868fc52e9898268dd0c93e6292c445/libs/docs/src/docs/2.3.0/adding-a-command-group.md): Documentation, 2.3.0 docs (devfile-web main at commit 5e4115c, 2026-09-27), checked 2026-10-06. - [Devfile 2.3.0 docs: Adding an exec command](https://raw.githubusercontent.com/devfile/devfile-web/5e4115c7cb868fc52e9898268dd0c93e6292c445/libs/docs/src/docs/2.3.0/adding-an-exec-command.md): Documentation, 2.3.0 docs (devfile-web main at commit 5e4115c, 2026-09-27), checked 2026-10-06. - [Devfile 2.3.0 docs: Adding a container component](https://raw.githubusercontent.com/devfile/devfile-web/5e4115c7cb868fc52e9898268dd0c93e6292c445/libs/docs/src/docs/2.3.0/adding-a-container-component.md): Documentation, 2.3.0 docs (devfile-web main at commit 5e4115c, 2026-09-27), checked 2026-10-06. - [Devfile 2.3.0 docs: Adding projects](https://raw.githubusercontent.com/devfile/devfile-web/5e4115c7cb868fc52e9898268dd0c93e6292c445/libs/docs/src/docs/2.3.0/adding-projects.md): Documentation, 2.3.0 docs (devfile-web main at commit 5e4115c, 2026-09-27), checked 2026-10-06. - [Devfile 2.3.0 docs: Defining starter projects](https://raw.githubusercontent.com/devfile/devfile-web/5e4115c7cb868fc52e9898268dd0c93e6292c445/libs/docs/src/docs/2.3.0/defining-starter-projects.md): Documentation, 2.3.0 docs (devfile-web main at commit 5e4115c, 2026-09-27), checked 2026-10-06. - [Devfile 2.3.0 docs: Defining endpoints](https://raw.githubusercontent.com/devfile/devfile-web/5e4115c7cb868fc52e9898268dd0c93e6292c445/libs/docs/src/docs/2.3.0/defining-endpoints.md): Documentation, 2.3.0 docs (devfile-web main at commit 5e4115c, 2026-09-27), checked 2026-10-06. - [Devfile 2.3.0 docs: Referring to a parent devfile](https://raw.githubusercontent.com/devfile/devfile-web/5e4115c7cb868fc52e9898268dd0c93e6292c445/libs/docs/src/docs/2.3.0/referring-to-a-parent-devfile.md): Documentation, 2.3.0 docs (devfile-web main at commit 5e4115c, 2026-09-27), checked 2026-10-06.
View on GitHub