Synticore Developer Docs - Maintainer Guide
Purpose
This page is the best starting point for people maintaining or extending the compiler itself.
Use it as the high-level path before diving into the maintainer-only reference pages.
Start Here
Read these in order:
📝 Synticore Changelog Re-anchor yourself on what changed recently before touching implementation.
Synticore Developer Docs - Config Internals Use this when you need schema-source behavior, task-chain rules, or compiler-side config resolution.
Synticore Developer Docs - Migration Internals Use this when a change affects project upgrades, version coordination, or migration fixtures.
Synticore Developer Docs - Validation Use this to choose the right verification commands for the subsystem you changed before broadening into versioned package checks.
Synticore Developer Docs - Maintenance Tasks Use this when the work involves shipped maintainer tasks such as migration, path normalization, or browser-data upkeep.
Synticore Developer Docs - Browser Tooling Notes Use this when a change touches BrowserSync, injected browser tools, or browser-tool state behavior.
Synticore Developer Docs - File Include Notes Use this when you are inside one of the more behavior-sensitive HTML processing paths.
Typical Maintainer Workflows
Change Compiler Behavior
- Identify the affected task or subsystem.
- Reproduce it against an explicit project path.
- Validate the project-facing behavior through the normal user docs flow.
- Inspect compiler logs and subsystem behavior.
- Re-run a broader build or package pass before considering the change done.
Typical commands:
npm run gulp about -- --project "<project-dir>"
npm run gulp rebuild -- --project "<project-dir>"
npm run gulp package -- --project "<project-dir>"
Change Config-Oriented Behavior
- Update the implementation.
- Re-check the relevant config behavior against schema and defaults.
- Confirm any
task_chainor config-resolution effects still make sense. - Rebuild config and then rebuild the project.
- Confirm logs and output match the intended behavior.
Typical commands:
npm run gulp sort_config -- --project "<project-dir>"
npm run gulp build_config -- --project "<project-dir>"
npm run gulp build -- --project "<project-dir>"
Investigate Watch Problems
- Reproduce the issue under watch mode.
- Check whether the behavior is normal dependency handling, a custom watch trigger, or stale cache state.
- Inspect compiler logs and any subsystem notes that apply.
- Rebuild cleanly before assuming the issue is scheduler-level.
Prepare A Versioned Change
- Update or verify release notes in 📝 Synticore Changelog.
- Use Synticore Developer Docs - Validation to choose the minimum checks that match the touched areas.
- Run a clean build.
- Run package output generation.
- Validate that versioned docs and metadata still agree.
Companion Developer Notes
Use the narrower developer pages when you are inside one subsystem:
- Synticore Developer Docs - File Include Notes
- Synticore Developer Docs - Browser Tooling Notes
- Synticore Developer Docs - Watch Trigger Notes
- Synticore Developer Docs - Cure Time
- Synticore Developer Docs - Maintenance Tasks
- Synticore Developer Docs - Validation
Rule Of Thumb
- Use the user docs when validating how the compiler should feel to a site builder.
- Use the developer docs when validating how the compiler actually behaves internally.
- Prefer explicit project-path validation over guessing, then narrow into compiler internals only where needed.