Name:v1.0.0Status:active

v1.0.0 — Editor Integration & Package Ecosystem

Milestone burndown: 15 open work items remaining; peak 15, started Mar 2403691215Mar 24Apr 29
Open work items Ideal burndown
Progress 34/49 work items
History 1
  1. 34e40e2
    Created (active)by Claude
    Rename plan/ directories and migrate plan/CLAUDE.md
  • Editor package awareness and registry autocomplete
  • Community package pipeline hooks (learning)
  • CSS fallback resolution for community packages
  • Pipeline incremental builds
  • Create-Refrakt project type defaults
  • Framework adapters: Astro, Nuxt, Next.js, Eleventy (SPEC-030)
  • Shared utility extraction from @refrakt-md/svelte (SPEC-030 Phase 0)
  • Create-Refrakt multi-framework scaffolding with interactive mode
  • Plan CLI resolution parsing and display
  • Structure slots and declarative flexibility (SPEC-033): value mapping, density contexts, named slots, repeated elements, element projection

Work Items

Ready 13
WORK-052 changeset-release/main
Create-Refrakt Project Type Defaults
medium simple
0/6 criteria
WORK-053 changeset-release/main
CSS Fallback Resolution for Third-Party Packages
medium moderate
0/6 criteria
WORK-055 changeset-release/main
Learning Package Pipeline Hooks
high complex
0/11 criteria
WORK-056 changeset-release/main
Editor Background Entity Registry
medium complex
0/10 criteria
WORK-057 changeset-release/main
Editor Registry-Powered Autocomplete
medium moderate
0/7 criteria
WORK-058 changeset-release/main
Pipeline Incremental Build Optimization
low complex
0/9 criteria
WORK-094 changeset-release/main
Create @refrakt-md/vite plugin — Level 1 static transform
Build the core Vite plugin that intercepts .md files and emits JS modules with rendered HTML, frontmatter, SEO data, and serialized tree. This is the Level 1 (static, per-file) integration — no cross-page awareness.
high moderate
0/13 criteria
WORK-095 changeset-release/main
Vite plugin — virtual CSS module and tree-shaking
Implement virtual:refrakt/styles module that imports theme tokens, per-rune CSS, and package CSS. Supports tree-shaking to include only CSS for runes actually used in content.
high simple
0/9 criteria
WORK-096 changeset-release/main
Vite plugin — dev server HMR
Implement hot module replacement for .md file changes during development. When a markdown file is saved, re-transform it and trigger a page update.
medium simple
0/6 criteria
WORK-097 changeset-release/main
Vite plugin — Level 2 cross-page pipeline
Implement the level: 'pipeline' mode that runs the full four-phase cross-page pipeline at build time, enabling breadcrumbs, nav, glossary auto-linking, and other entity-dependent features.
medium moderate
0/11 criteria
WORK-098 changeset-release/main
Vite plugin — behavior init helper export
Export a thin initBehaviors() wrapper from @refrakt-md/vite/behaviors that frameworks can call after navigation to re-initialize interactive rune behaviors (accordion, tabs, datatable, etc.).
low trivial
0/6 criteria
WORK-115 changeset-release/main
Migrate community package postTransform uses to declarative config
With WORK-110 through WORK-114 complete, convert the 5 postTransform uses identified in SPEC-033 to their declarative equivalents. Validate identical HTML output before and after each migration.
medium moderate
0/7 criteria
WORK-116 changeset-release/main
Update inspect and contracts tooling for structure slots features
Update refrakt inspect and refrakt contracts to surface the new SPEC-033 features: slot assignments, projection effects, and repeated elements.
medium moderate
0/7 criteria
In Progress 2
WORK-051 changeset-release/main
Editor Package Awareness
high complex
3/8 criteria
WORK-089 changeset-release/main
Create @refrakt-md/astro adapter package
Build the Astro framework adapter — the first non-SvelteKit target. Astro is MPA-first and SSG-focused, making it the simplest adapter to build and validate.
high moderate
11/12 criteria
Done 34
WORK-074 changeset-release/main
Display resolution metadata in plan status and plan serve
Show resolution data (completion date, PR link) in the plan status output and the plan serve dashboard.
medium moderate
0/5 criteria
WORK-083 changeset-release/main
Create Shared Git Timestamp Utility
high moderate
10/10 criteria
WORK-084 changeset-release/main
Inject $file.created and $file.modified Variables into Content Pipeline
high moderate
8/8 criteria
WORK-085 changeset-release/main
Add Timestamp Attributes to Plan Rune Schemas
medium moderate
8/8 criteria
WORK-086 changeset-release/main
Consolidate Plan Scanner with Shared Git Timestamp Utility
medium simple
6/6 criteria
WORK-087 changeset-release/main
Add Sitemap lastmod Support Using File Timestamps
low simple
5/5 criteria
WORK-088 changeset-release/main
Extract shared utilities from @refrakt-md/svelte to @refrakt-md/transform
Prerequisite for all framework adapters. Two modules in @refrakt-md/svelte are framework-agnostic and needed by every adapter package.
high simple
1/7 criteria
WORK-090 changeset-release/main
Create @refrakt-md/nuxt adapter package
Build the Nuxt framework adapter. Nuxt is Vite-based like SvelteKit, so the existing Vite plugin logic (virtual modules, content HMR) can be substantially reused.
medium moderate
0/10 criteria
WORK-091 changeset-release/main
Create @refrakt-md/next adapter package
Build the Next.js framework adapter. Uses React Server Components + renderToHtml() for zero-hydration content rendering, with a thin client component for behavior initialization.
medium moderate
0/11 criteria
WORK-092 changeset-release/main
Create @refrakt-md/eleventy adapter package
Build the Eleventy (11ty v3) framework adapter. The simplest integration — no Vite, no bundler, no framework. Just global data files, templates, and renderToHtml().
low simple
0/10 criteria
WORK-093 changeset-release/main
Add multi-framework support to create-refrakt
Extend create-refrakt to scaffold projects for Astro, Nuxt, Next.js, and Eleventy in addition to the existing SvelteKit and HTML targets.
medium moderate
1/11 criteria
WORK-099 changeset-release/main
Migrate simple core runes from Model to createContentModelSchema
Migrate the straightforward core runes that use @group decorators with sequential or sectioned patterns. These have no custom processChildren logic — they map directly to sequence, sections, or delimited content models.
high simple
7/7 criteria
WORK-100 changeset-release/main
Migrate simple community runes from Model to createContentModelSchema
Migrate community package runes that use straightforward @group decorator patterns. These map directly to sequence or sections content models with no custom processChildren logic.
high simple
5/5 criteria
WORK-101 changeset-release/main
Migrate moderate-complexity runes from Model to createContentModelSchema
Migrate runes that have multiple groups, context-dependent group logic, or light custom processing. These need more careful mapping but don't require the custom escape hatch.
high moderate
7/7 criteria
WORK-102 changeset-release/main
Migrate complex runes from Model to createContentModelSchema
Migrate the remaining runes that have custom processChildren overrides with stateful parsing, text pattern matching, or DOM surgery. All will use the custom content model type.
high complex
8/8 criteria
WORK-103 changeset-release/main
Remove legacy Model class, decorators, and createSchema
Once all runes are migrated to createContentModelSchema, delete the legacy API surface from @refrakt-md/runes.
high moderate
7/7 criteria
WORK-104 changeset-release/main
Update authoring docs after legacy Model removal
Remove or rewrite documentation that references the legacy Model class, decorators, and createSchema. After this work, the authoring docs present createContentModelSchema as the single path.
medium simple
7/7 criteria
WORK-105 changeset-release/main
Add dual-signature support to createComponentRenderable and update RuneDescriptor
Phase 1 of ADR-005. Update createComponentRenderable to accept either the current Type first argument or a new inline { rune: string, schemaOrgType?: string } form. Update RuneDescriptor and Rune class to carry typeName?: string and schemaOrgType?: string instead of type?: Type.Both signatures must work simultaneously so Phase 2 migration can happen incrementally.
high moderate
6/6 criteria
WORK-106 changeset-release/main
Migrate core runes to inline rune identifiers
Phase 2a of ADR-005. Update all ~37 core rune transforms in packages/runes/src/tags/ to use the new inline { rune: 'name' } signature for createComponentRenderable instead of importing schema.X from the registry. Each update is a 2-3 line change per file.Depends on WORK-105 (dual-signature support) being complete.
high simple
5/5 criteria
WORK-107 changeset-release/main
Migrate community package runes to inline rune identifiers
Phase 2b of ADR-005. Update all ~65 community package rune transforms across 8 packages to use the new inline { rune: 'name' } signature for createComponentRenderable. Same mechanical change as WORK-106 but across community packages.Depends on WORK-105 (dual-signature support) being complete.
high simple
6/6 criteria
WORK-108 changeset-release/main
Update inspect tooling for string-based rune types
Phase 2c of ADR-005. Update refrakt inspect and related tooling to use the Rune.typeName string field instead of rune.type?.name. Small change (~4 lines) but needed before Phase 3 cleanup can remove the Type class.Depends on WORK-105 (dual-signature support) being complete.
medium simple
5/5 criteria
WORK-109 changeset-release/main
Remove Type system — delete schema classes, registries, and old signature
Phase 3 of ADR-005 (breaking change). Once all runes are migrated (WORK-106, WORK-107) and tooling updated (WORK-108), remove the legacy Type class system entirely.Depends on WORK-106, WORK-107, and WORK-108 all being complete.
medium moderate
11/11 criteria
WORK-110 changeset-release/main
Add value mapping to modifier config
Extend ModifierConfig with valueMap and mapTarget fields so that modifier values can be declaratively mapped to different data attribute values. This is the smallest SPEC-033 feature and eliminates 2 existing postTransform uses.
high simple
0/7 criteria
WORK-111 changeset-release/main
Replace hardcoded density contexts with configurable childDensity
Remove the hardcoded COMPACT_CONTEXTS and MINIMAL_CONTEXTS sets from the identity transform engine and replace them with a childDensity field on RuneConfig. This lets community packages declare density behavior without modifying the engine.
high simple
0/8 criteria
WORK-112 changeset-release/main
Implement named slots with ordering for structure entries
Add a slots array to RuneConfig and slot/order fields to StructureEntry. The engine assembles children by iterating slots in declared order instead of using binary before/after placement. This is the core structural change in SPEC-033 that enables multi-zone layouts.
high moderate
0/10 criteria
WORK-113 changeset-release/main
Add repeated element generation to structure entries
Extend StructureEntry with a repeat field that generates N copies of a template element, with optional filled/unfilled distinction. Eliminates the testimonial rune's postTransform for star ratings.
medium moderate
0/8 criteria
WORK-114 changeset-release/main
Implement element projection (hide, group, relocate)
Add a projection field to RuneConfig that enables declarative structural reshaping of the output tree. Projection runs as a distinct pass after BEM class application but before meta tag filtering, operating on data-name addresses. This is SPEC-033's most powerful feature, giving themes control over schema-produced elements.
medium complex
0/11 criteria
WORK-117 changeset-release/main
Implement framework-agnostic extraction logic for component interface
high moderate
WORK-120 changeset-release/main
Export generic type interfaces for rune component overrides
medium moderate
WORK-121 changeset-release/main
Add component interface view to refrakt inspect
medium simple
WORK-122 changeset-release/main
Document framework-native component override interface
medium moderate
WORK-126 changeset-release/main
Parse Resolution sections in the plan scanner
Extend the plan scanner to extract ## Resolution sections from work item and bug files into a structured resolution field on PlanEntity.
high moderate
0/8 criteria