mcpField
S
skyline-config

skyline-config

github.com/wechat-miniprogramDevelopment55982 installsUpdated 21w ago
Repository

About skyline-config

skyline-config is a configuration reference skill for WeChat Mini Program developers using Skyline. It covers app, page, and developer-tool settings, including guidance for migration and mixed rendering.

Key features

  1. 01Explains app, page, and tool config layers
  2. 02Lists required Skyline settings
  3. 03Guides mixed rendering and page overrides
  4. 04Recommends rendererOptions compatibility settings
  5. 05Indexes configuration references

Use cases

  1. 01Starting a Skyline Mini Program project
  2. 02Migrating WebView pages to Skyline
  3. 03Configuring mixed Skyline and WebView rendering
  4. 04Diagnosing configuration-related build errors

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/wechat-miniprogram/skyline-skills --skill skyline-config

After installing, type/skyline-configin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
app-config.md
page-config.md
patterns.md
project-config.md

Details

From the project README

Skyline JSON 配置规范

适用场景

  • 创建新的 Skyline 小程序项目
  • 从 WebView 迁移到 Skyline 渲染引擎
  • 配置混合渲染(部分页面 Skyline、部分 WebView)
  • 配置 rendererOptions 优化样式兼容性
  • 排查 Skyline 配置相关的编译错误

核心概念

三级配置层次
层级文件作用关键配置
全局app.json全局启用 Skylinerenderer, componentFramework, rendererOptions
页面页面.json页面级配置/覆盖navigationStyle, disableScroll, renderer
工具project.config.json开发者工具调试setting.skylineRenderEnable
最小必需配置
// app.json
{
  "renderer": "skyline",
  "componentFramework": "glass-easel",
  "lazyCodeLoading": "requiredComponents"
}
// 每个页面的 .json
{
  "navigationStyle": "custom"
}

文档索引

根据需求快速定位(路径相对于 references/):

我想要...查阅文档
了解 app.json 中所有 Skyline 相关配置app-config.md
了解页面级配置和混合渲染page-config.md
配置开发者工具project-config.md
查看完整配置模板patterns.md

强制规则

MUST(必须遵守)
  1. app.json 必须包含三项必需配置:

    // ❌ 错误:缺少 componentFramework 和 lazyCodeLoading
    {
      "pages": ["pages/index/index"],
      "renderer": "skyline"
    }
    
    // ✅ 正确:三项缺一不可
    {
      "renderer": "skyline",
      "componentFramework": "glass-easel",
      "lazyCodeLoading": "requiredComponents"
    }
    
  2. 每个页面的 json 必须配置 "navigationStyle": "custom":

    // ❌ 错误:缺少 navigationStyle,编译报错
    // getAppConfig error: the "navigationStyle" configuration
    // for the page should be set to "custom"
    {
      "usingComponents": {}
    }
    
    // ✅ 正确
    {
      "navigationStyle": "custom"
    }
    

    Skyline 不支持原生导航栏,必须使用自定义导航栏。

  3. 使用 scroll-view 替代页面级滚动时配置 "disableScroll": true:

    // ❌ 错误:未禁用页面滚动,可能与 scroll-view 冲突
    {
      "navigationStyle": "custom"
    }
    
    // ✅ 正确:禁用页面滚动,使用 scroll-view 管理滚动
    {
      "navigationStyle": "custom",
      "disableScroll": true
    }
    
  4. rendererOptions 应配置 defaultDisplayBlock 和 defaultContentBox 以对齐 WebView 行为:

    // ❌ 错误:未配置 rendererOptions,Skyline 默认 display:flex + border-box
    {
      "renderer": "skyline"
    }
    
    // ✅ 正确:对齐 WebView 的 block + content-box 默认行为
    {
      "renderer": "skyline",
      "rendererOptions": {
        "skyline": {
          "defaultDisplayBlock": true,
          "defaultContentBox": true
        }
      }
    }
    
NEVER(禁止行为)
  1. NEVER 遗漏任何页面的 navigationStyle: "custom" 配置——即使页面不需要导航栏,Skyline 下也必须声明
  2. NEVER 在 Skyline 页面中依赖页面级全局滚动——Skyline 不支持页面级滚动,必须使用 scroll-view 组件

Quick Reference

必需配置速查
配置项位置值级别
rendererapp.json"skyline"必需
componentFrameworkapp.json"glass-easel"必需
lazyCodeLoadingapp.json"requiredComponents"必需
navigationStyle页面 json"custom"必需
disableScroll页面 jsontrue推荐
rendererOptions 配置速查
配置项类型默认值推荐值说明
defaultDisplayBlockbooleanfalsetrue默认 display:block(对齐 WebView)
defaultContentBoxbooleanfalsetrue默认 box-sizing:content-box(对齐 WebView)
tagNameStyleIsolationstring"isolated""legacy"标签选择器全局匹配(对齐 WebView)
enableScrollViewAutoSizebooleanfalsetruescroll-view 自动撑开高度
disableABTestbooleanfalsetrue关闭 Skyline AB 实验,确保稳定性
场景决策表
场景推荐配置
新建 Skyline 项目三项必需 + rendererOptions 全部推荐值
WebView 迁移三项必需 + rendererOptions 兼容配置 + disableABTest
混合渲染app.json 不设 renderer,页面级单独设 "renderer": "skyline"
仅部分页面用 Skyline页面 json 中设 "renderer": "skyline" 覆盖全局

相关技能

场景推荐技能说明
WXSS 样式兼容skyline-wxssrendererOptions 影响的默认值详解(display/flex-direction/align-items/box-sizing)
glass-easel 框架skyline-glass-easelcomponentFramework 详细迁移指南
Skyline 概览与迁移skyline-overview渲染引擎概览、迁移步骤
组件使用skyline-componentsscroll-view 等组件配置
路由配置skyline-route自定义路由与页面转场

References 目录结构

references/
├── app-config.md
├── page-config.md
├── patterns.md
└── project-config.md

Comments

Markdown supported