Skip to content
StarMoe-orgPublic

Repository files navigation

MoeNotes

English | 简体中文

MoeNotes 是由 StarMoe 团队为 BanG Dream! 企划 Our Notes 开发的静态数据与资料查看器。

项目基于静态站点架构构建,提供角色、卡面、活动、歌曲谱面、剧情等游戏数据的检索与多语言浏览。如果你想要了解游戏元数据/更新动态,可以访问 moenotes-masterdata。

特性

  • 游戏数据检索:支持角色档案、卡面立绘、数值属性、活动剧情与歌曲谱面等资料查阅。
  • 多语言架构:内置多语言界面切换,支持中、英、日、韩等语言的 masterdata 数据自动回退。
  • Material Design 3:MUI 组件 + MD3 令牌,乐队颜色可作为动态取色种子,浅色/深色一致(规范见 VISUAL_DESIGN.md)。
  • 静态优先:基于静态站点生成(SSG)与预渲染,首屏加载迅速。

技术栈

  • 站点框架:Astro
  • 交互组件:React 19、MUI(Material 3 主题)
  • 样式库:Tailwind CSS v4
  • 开发语言:TypeScript
  • 包管理器与运行环境:Bun

快速上手

本地开发前请先安装 Bun。

1. 安装依赖

bun install

2. 启动本地开发服务

bun run dev

如遇本地缓存异常或热更新失效,可清理缓存并强制启动:

bun run dev:fresh

构建默认从远程镜像拉取 masterdata。如需指向本地数据目录,可指定环境变量:

MOENOTES_MASTERDATA_DIR=../ournotes-masterdata-1 bun run dev

3. 生产打包构建

bun run build

4. 本地预览打包产物

bun run preview

5. 代码检查

运行多语言、路由与规范检查:

bun run lint

提交与发版

提交信息遵循 Conventional Commits,并且用英文书写(标题与正文不能含中日韩文字或全角标点),例如 feat(events): add exchange detail page、fix: stop dark mode flicker。bun install 会启用仓库自带的 commit-msg 钩子,不合规的提交信息会被拒绝;CI 也会检查 Pull Request 标题、PR 内的提交和推送到 main 的提交。

版本号遵循语义化版本,每个版本的更新说明见 GitHub Releases,由 git-cliff 根据提交生成:

bun run release          # 按提交推算下一个版本,更新 package.json,提交并打标签
git push origin HEAD v0.2.0

推送 v* 标签后,CI 会创建对应的 GitHub Release 并生成更新说明。

关于 Astro 的一点吐槽

当初选型看中了 Astro 的静态优先与 Islands 架构,但面对游戏资料站这样重交互、重客户端状态的场景,实际开发起来真的挺不方便的(笑)。还是NEXT开发这种东西方便一点。

开源协议与版权说明

  • 本项目源码采用 AGPL-3.0 协议开源。
  • 游戏官方美术立绘、音频、剧情等资产版权均归属版权方 Bushiroad / Craft Egg / Ishimori 所有。
  • 本项目为非商业性质的粉丝向技术研究与交流项目,不提供任何商业授权。

Releases

Packages

Contributors

Languages