Feat v0.6.12 extension css isolation
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / build-and-deploy (pull_request) Has been cancelled
CI/CD / test-sqlite (pull_request) Has been cancelled
CI/CD / test-go-pg (pull_request) Has been cancelled
CI/CD / test-frontend (pull_request) Has been cancelled

Prefix enforcement prevents extension CSS from leaking into the kernel
or sibling extensions. All 12 in-tree packages migrated to .ext-{slug}-*
naming convention.

- Add data-ext attribute to extension mount container
- Add CSS linter (scripts/lint-package-css.sh) enforcing .ext-{slug} prefix
- Add kernel CSS contract doc (docs/EXTENSION-CSS.md)
- Migrate 12 packages: chat, dashboard, editor, git-board, hello-dashboard,
  icd-test-runner, notes, schedules, sdk-test-runner, tasks,
  team-activity-log, workflow-demo (CSS + JS in lockstep)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-01 11:54:51 +00:00
parent 786bc92768
commit abf71162b1
33 changed files with 1385 additions and 1074 deletions

View File

@@ -1,38 +1,38 @@
/* ICD Test Runner — Surface Styles */
#extension-mount {
.ext-icd-test-runner-root {
font-family: var(--font, 'DM Sans', sans-serif);
}
#extension-mount h1 {
.ext-icd-test-runner-root h1 {
font-family: var(--font, 'DM Sans', sans-serif);
letter-spacing: -0.3px;
}
#extension-mount table {
.ext-icd-test-runner-root table {
font-variant-numeric: tabular-nums;
}
#extension-mount table td,
#extension-mount table th {
.ext-icd-test-runner-root table td,
.ext-icd-test-runner-root table th {
border-color: var(--border);
}
#extension-mount table tbody tr:last-child {
.ext-icd-test-runner-root table tbody tr:last-child {
border-bottom: none;
}
#extension-mount table tbody tr:hover {
.ext-icd-test-runner-root table tbody tr:hover {
background: var(--bg-hover) !important;
}
/* Buttons — uses kernel sw-btn system, minor overrides for weight */
#extension-mount .sw-btn {
.ext-icd-test-runner-root .sw-btn {
font-weight: 600;
}
/* Status dot animation for running state */
@keyframes pulse-dot {
@keyframes ext-icd-test-runner-pulse-dot {
0%, 100% { opacity: 1; }
50% { opacity: 0.4; }
}