docs(apps): update AppKit scaffolding setup for Manifest 2.0#79
Draft
atilafassina wants to merge 1 commit into
Draft
docs(apps): update AppKit scaffolding setup for Manifest 2.0#79atilafassina wants to merge 1 commit into
atilafassina wants to merge 1 commit into
Conversation
atilafassina
added a commit
to databricks/appkit
that referenced
this pull request
May 19, 2026
…tion The original three never entries surfaced false-positive conflicts with plugin setup instructions during integration testing against the databricks-apps skill (Track B PR databricks/databricks-agent-skills#79): - 'Modify files inside the template directory' caught every plugin must rule that edits scaffolded files (genie spaces config, lakebase migrations, analytics queries). The rule was either unreachable (if read as the SDK source-of-truth) or contradictory (if read as the scaffolded output, which the user owns post-init). Deleted. - 'Hardcode workspace-specific values in template files' conflated workspace IDs (which are correctly committed to bundle config) with credentials (which must not be). Replaced with a must/never pair that names the legitimate destinations (app.yaml, databricks.yml, .env) and the leak path (client bundle). - 'Skip resource configuration prompts' conflicted with the --set non-interactive path. Replaced with a should/never pair covering the actual decision-time failures: ask the user when uncertain; never guess when discovery returns zero or multiple options. Net: 0 must + 0 should + 3 never -> 1 must + 1 should + 2 never. All entries describe agent behaviors at decision points (substitutability gate passes), each under 120 chars, and the merged set is precedence- and phase-clean per the skill PR's protocol. Regression test in validate-manifest.test.ts updated to pin the new contents. Co-authored-by: Isaac Signed-off-by: Atila Fassina <atila@fassina.eu>
Adds the Scaffolding Rules Protocol to skills/databricks-apps/SKILL.md — instructions for reading and applying plugin-level + template-level scaffolding.rules (must / should / never) emitted by `databricks apps manifest`. Covers: gathering rules from selected plugins + template, precedence over baked-in directives, Before init / After init phase ordering, conflict detection (plugin must vs template never), and reporting the merged guardrail set before scaffolding. This is Track B of the AppKit plugin-manifest-refactor v2.0. Track A (schema cutover, postScaffold deletion, plugin migrations) is already shipped on the AppKit side; Track B is advisory until this lands. xavier loop iteration 5 (Phase 5 of plugin-manifest-refactor task). Co-authored-by: Isaac
816998a to
184324b
Compare
MarioCadenas
approved these changes
May 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Updates
skills/databricks-apps/SKILL.mdto consume thescaffolding.rulesblocks introduced in AppKit Manifest 2.0 (databricks-eng/appkit#261).
The schema now emits
must/should/neverarrays at both thetemplate level and per-plugin level via
databricks apps manifest.Adds a new "Scaffolding Rules Protocol" subsection covering how the
skill should:
Before init/After initphase prefixes for orderingmustconflicts with a templatenever(or vice versa)Until this merges, the new rules are advisory metadata in the manifest:
present but unused at scaffold time. Failure mode is degraded (plugin
guardrails don't fire), not broken.
Test plan
python3 scripts/skills.py validatepasses (CI)