Config schema design
Current state
Section titled “Current state”The plugin’s CrosswalkerConfig (in src/types/config.ts) handles column mapping for a single import session. But it doesn’t support framework-specific transforms, crosswalk link definitions, or community config sharing. This page proposes the extended config schema.
Proposed FrameworkConfig
Section titled “Proposed FrameworkConfig”Defines how to import a specific framework — which sheets to load, how to map columns, and what transforms to apply.
Example: CRI Profile config
Proposed LinkConfig
Section titled “Proposed LinkConfig”Defines how to create crosswalk links between two imported frameworks.
Example: CRI ↔ CSF crosswalk
Composition
Section titled “Composition”A full CrosswalkerConfig wraps a FrameworkConfig plus optional LinkConfig[]:
Community sharing model
Section titled “Community sharing model”Configs can be exported as JSON for sharing:
- Export: User configures an import, saves config, exports as
.crosswalker.json - Share: Upload to GitHub, share in community forums, include in template vaults
- Import: Another user imports the config file, adjusting paths as needed
- Version pinning: Config includes
compatibilityfield for minimum plugin version
Future: A community config registry (like npm for framework configs) where users can crosswalker install nist-800-53-r5 to get a pre-built import configuration.
Relation to saved configs
Section titled “Relation to saved configs”The current config system uses fingerprinting to auto-match saved configs to new imports. FrameworkConfig extends this with:
- Source file pattern matching: Detect which framework a file contains by its name or column patterns
- Sheet-level configuration: Auto-select the right sheets for multi-sheet frameworks
- Transform presets: Apply framework-specific transforms without manual configuration
The config selection algorithm would score FrameworkConfig matches higher than generic column-mapping matches, enabling “one-click re-import” for known frameworks.
Resources
Section titled “Resources”Related pages
Section titled “Related pages”- Config system — current save/load/match
- Config selection — fingerprinting and scoring
- Framework crosswalks — crosswalk mapping details
- Helper functions — transform implementations
- Framework data sources — per-framework specifications