Synticore Builder Guide - Project Structure
Purpose
This page documents the structure a normal Synticore website project uses, including what each folder is for, what gets generated, and what is safe to delete.
If you need compiler-repository internals rather than project structure, use the Synticore Developer Docs.
Start With The Project Root
The selected project is the website content directory Synticore builds.
This compiler repository ships starter templates under template/.
The working example project lives separately at Synticore Website Compiler Example Repository.
The template directories are scaffold sources for creating new projects and are not themselves normal working project directories.
Typical layout:
<project>/
config.json
config.schema.json (optional)
info.json
font-icon-template.scss (optional override)
in/
_html/
asset/
audio/
brand/
css/
file/
font/
font-icon/
image/
js/
module/
video/
*.html
browserconfig.xml
manifest.webmanifest
favicon.ico
out/ (generated)
_cache/ (generated)
_log/ (generated)
_package/ (generated when packaging)
What Each Project File Does
config.json
- Primary project configuration file
- Controls build behavior for this project
config.schema.json (Optional)
- Project-level schema extensions for custom keys
- Used by the GUI config editor for custom typing and widgets
info.json
- Project metadata, including project version
- Used by version checks and migration logic
font-icon-template.scss (Optional)
- Project-level override for font icon CSS template generation
- If missing, Synticore falls back to the compiler default
- See Synticore Builder Guide - Font Icon Guide for the user-facing font icon pipeline overview
in/
- Source input tree
- Synticore compiles and transforms from here into
out/
out/
- Generated build output
- Deployable static site output
- Safe to delete
_cache/
- Incremental build cache and derived metadata
- Safe to delete
- May also contain project-local GUI or browser-tool state owned by tooling rather than by authored site content
_log/
- Per-project task logs
- Safe to delete
_package/
- Package output location
- Used for zip and/or directory packaging outputs
Compiler Root At A Glance
The compiler repository itself contains:
gulpfile.jsfor task definitions and compiler pipeline logicgui.cmd/gui.shfor browser GUI launchsetup.cmd/setup.shfor repository npm setupconfig/for tool-level defaults and settingssource/for bundled resources, custom modules, migrations, and test datatemplate/for starter templates and shared scaffold contentwiki/builder.mdfor the builder docs landing pagewiki/developer.mdfor the developer docs landing pagewiki/builder/for builder-facing documentation pageswiki/developer/for developer-facing documentation pages_log/for compiler-level logs such asgulpfile.logandgui.log
Most site builders should care about the project root first and only visit compiler-root details when troubleshooting or extending the tool.
For a shorter explanation of which config/state files you normally edit versus ignore, use Synticore Builder Guide - Config Ownership.