xPulse
πŸ‡¬πŸ‡§ EN
Pages
Contents

xpulse.json Schema

Required Fields

Key Type Description
name string Unique project name, e.g. xpulse-chat

Standard Keys with Defaults

Key Type Default
type string 'tool'
theme.default string 'dark'
i18n.default string 'de'
i18n.locales string[] ['de']
paths.pages string 'pages/'
paths.templates string 'templates/'
paths.locales string 'locales/'
paths.public string 'public/'
http.port string process.env.PORT || '3000'

Full Example

{
"name": "xpulse-web",
"type": "tool",
"http": {
"port": "${PORT}"
},
"theme": {
"default": "platform"
},
"i18n": {
"default": "de",
"locales": ["de", "en"]
},
"paths": {
"pages": "pages/",
"templates": "templates/",
"locales": "locales/",
"public": "public/"
},
"sources": {
"chat": {
"name": "xPulse Chat",
"url": "${CHAT_URL}",
"repo": "https://bitbucket.org/xpulse1/xpulse-chat.git",
"type": "tool",
"docs": true
}
}
}

Custom Keys

Unknown keys are ignored and passed through without warnings. They are accessible via config.get():

{
"name": "xpulse-chat",
"release": {
"current": "1.3.0",
"codename": "Abomasnow"
}
}
config.get('release.current') // '1.3.0'
config.get('release.codename') // 'Abomasnow'

Convention: custom keys should be named clearly to avoid conflicts with future standard keys.

Minimal Example (Component)

{
"name": "xpulse-config",
"type": "component"
}
en/schema.md 2026-03-13