No description
  • HTML 46.5%
  • PHP 36.4%
  • Blade 10.1%
  • Rich Text Format 3.5%
  • Shell 1%
  • Other 2.4%
Find a file
Duan Yuheng 7a8e05574d
Some checks failed
CI/CD Pipeline / Test (push) Failing after 8m37s
CI/CD Pipeline / Deploy to Dev (push) Has been skipped
CI/CD Pipeline / Deploy to UAT (push) Has been skipped
CI/CD Pipeline / Deploy to Production (push) Has been skipped
fix(ci): add database port configuration step to workflow
2026-03-16 18:14:05 +08:00
.agents/skills docs: 更新 Agent 相关文档 2026-02-21 22:08:10 +08:00
.chglog chore(config): git-chglog 配置 2025-09-03 14:54:35 +08:00
.codebuddy refactor: NovChat 支持实时聊天机制 2026-02-14 23:18:58 +08:00
.forgejo/workflows fix(ci): add database port configuration step to workflow 2026-03-16 18:14:05 +08:00
.github/workflows docs: add GitHub Actions workflow for docs (T44) 2026-03-09 00:58:19 +08:00
.husky feat: 提交 剩余文件 2026-03-10 11:17:24 +08:00
.opencode docs: add oh-my-opencode workspace management files 2026-03-08 21:33:35 +08:00
.sisyphus chore: trigger CI test 2026-03-16 11:25:23 +08:00
_archive docs(architecture): 迁移业务架构 (P0) 2026-03-08 23:11:47 +08:00
_doc docs(reference): migrate testing docs with INDEX (T32) 2026-03-09 01:24:46 +08:00
app feat: complete test quality improvement plan with full cleanup 2026-03-12 18:22:28 +08:00
bootstrap ci: add local CI/CD automation for solo developer 2026-03-10 10:14:21 +08:00
config refactor(api): unify namespace to lowercase api directory 2026-03-13 16:59:17 +08:00
database feat: complete test quality improvement plan with full cleanup 2026-03-12 18:22:28 +08:00
docker feat: add dev/uat/prod docker-compose configs for CI/CD deployment 2026-03-16 10:34:08 +08:00
docs feat: complete test quality improvement plan with full cleanup 2026-03-12 18:22:28 +08:00
examples feat: implement Nova Development Workflow Skill 2026-03-08 14:04:28 +08:00
hooks feat(planning): implement local issue tracker system with Git hooks 2026-03-06 11:09:39 +08:00
lang ci: add local CI/CD automation for solo developer 2026-03-10 10:14:21 +08:00
packages/istuen/nova-forge style: 全局优化代码格式 2026-02-13 20:20:53 +08:00
playwright-report test: add Playwright browser testing 2026-02-23 01:36:04 +08:00
public feat: 开发 Chat 功能中 2026-01-19 00:35:00 +08:00
resources refactor(api): unify namespace to lowercase api directory 2026-03-13 16:59:17 +08:00
routes feat: complete test quality improvement plan with full cleanup 2026-03-12 18:22:28 +08:00
scripts feat: 允许 Sail 的端口多项目区分配置 2026-03-10 14:06:05 +08:00
skill-tests feat: implement Nova Development Workflow Skill 2026-03-08 14:04:28 +08:00
storage feat: 提交 剩余文件 2026-03-10 11:17:24 +08:00
stubs build: 新增 Laravel AI/MCP/Boost 库 2026-02-13 14:17:15 +08:00
test-results test: add Playwright browser testing 2026-02-23 01:36:04 +08:00
tests feat: complete test quality improvement plan with full cleanup 2026-03-12 18:22:28 +08:00
.commitlintrc.cjs chore: add commitlint configuration for conventional commits 2026-03-03 16:05:13 +08:00
.czrc chore: add commitlint configuration for conventional commits 2026-03-03 16:05:13 +08:00
.dockerignore feat: 新增 表单分区与字段、字段模板 功能 2026-01-23 22:47:34 +08:00
.editorconfig build(config): 新增系統/插件庫配置文件 2025-09-03 14:09:56 +08:00
.env.example build: 调整构建文档 2026-03-11 19:34:22 +08:00
.gitattributes build(config): 新增系統/插件庫配置文件 2025-09-03 14:09:56 +08:00
.gitignore docs: 更新 climodule-restructure-actions-states 归档 2026-03-10 16:25:37 +08:00
.husky-test.txt feat: test husky hook 2026-03-10 19:24:05 +08:00
.markdown-link-check.json docs: batch fix internal links after migration (T41) 2026-03-09 02:16:49 +08:00
.markdownlint.json docs: finalize quality gates (T45) 2026-03-09 00:46:56 +08:00
.pnpmrc build(framework): 增加 Laravel Sail 包與 docker 腳本指令 2025-09-21 14:54:05 +08:00
.prettierignore chore: 新增 prettier 忽略配置 2025-09-03 15:45:16 +08:00
.prettierrc build(framework): 增加 Laravel Sail 包與 docker 腳本指令 2025-09-21 14:54:05 +08:00
_doc-backup-20260308.tar.gz docs(architecture): 迁移业务架构 (P0) 2026-03-08 23:11:47 +08:00
AGENTS.md docs(architecture): 迁移业务架构 (P0) 2026-03-08 23:11:47 +08:00
AGENTS.zh-cn.md backup: before marker cleanup - all files have #XX| artifacts 2026-02-27 13:30:51 +08:00
artisan build(config): 新增系統/插件庫配置文件 2025-09-03 14:09:56 +08:00
boost.json feat: 新增 Skills 2026-02-20 15:19:47 +08:00
CHANGELOG.md backup: before marker cleanup - all files have #XX| artifacts 2026-02-27 13:30:51 +08:00
commitlint.config.js chore(config): update project configuration 2026-03-04 17:01:08 +08:00
compose.yaml fix: resolve Death-of-Function (DOF) test infrastructure issues 2026-03-12 10:51:08 +08:00
composer.json feat: complete test quality improvement plan with full cleanup 2026-03-12 18:22:28 +08:00
composer.lock fix: resolve browser test failures 2026-03-12 00:29:52 +08:00
compound-engineering.local.md backup: before marker cleanup - all files have #XX| artifacts 2026-02-27 13:30:51 +08:00
docker-compose.dev.cn.yml feat: add dev/uat/prod docker-compose configs for CI/CD deployment 2026-03-16 10:34:08 +08:00
docker-compose.prod.cn.yml feat: add dev/uat/prod docker-compose configs for CI/CD deployment 2026-03-16 10:34:08 +08:00
docker-compose.prod.hk.yml infra(docker): add pgsql service to prod HK compose 2026-03-04 14:38:00 +08:00
docker-compose.sandbox.cn.yml infra(docker): complete pgsql integration for sandbox CN compose 2026-03-04 14:46:59 +08:00
docker-compose.uat.cn.yml feat: add dev/uat/prod docker-compose configs for CI/CD deployment 2026-03-16 10:34:08 +08:00
link-graph.dot docs(architecture): 迁移业务架构 (P0) 2026-03-08 23:11:47 +08:00
Makefile feat: complete test quality improvement - Phases 0 & 1 2026-03-11 21:06:48 +08:00
package-lock.json chore(deps): update package-lock.json with corrected registry URL 2026-02-23 22:56:55 +08:00
package.json feat: add full platform support for native dependencies 2026-03-11 10:09:51 +08:00
pest.php fix: resolve Death-of-Function (DOF) test infrastructure issues 2026-03-12 10:51:08 +08:00
phpstan.neon feat: complete test quality improvement - Phases 0 & 1 2026-03-11 21:06:48 +08:00
phpunit.xml feat: complete test quality improvement plan with full cleanup 2026-03-12 18:22:28 +08:00
pint.json feat: complete test quality improvement - Phases 0 & 1 2026-03-11 21:06:48 +08:00
playwright.config.ts test: add Playwright browser testing 2026-02-23 01:36:04 +08:00
pnpm-lock.yaml feat: add full platform support for native dependencies 2026-03-11 10:09:51 +08:00
README.md feat: complete test quality improvement plan with full cleanup 2026-03-12 18:22:28 +08:00
sail.sh feat: add sail.sh wrapper script for multi-environment isolation 2026-03-09 17:49:23 +08:00
start.sh refactor: 日常调整 2025-09-25 22:19:06 +08:00
test_autoload.php feat: complete test quality improvement - Phases 0 & 1 2026-03-11 21:06:48 +08:00
vite.config.js build: 调整构建文档 2026-03-11 19:34:22 +08:00

Nova

面向香港及大中华区的 B2B SaaS 公司秘书管理平台

Laravel Livewire Pest License


🚀 项目简介

Nova 是一个企业级的公司秘书服务管理平台,提供从客户签约、委托处理、财务跟踪到合规申报的全生命周期管理。专为香港及大中华区市场设计,满足本地法规和业务需求。

核心业务模块

  • 👥 CliModule - 客户管理UserAccount、Company、AssociatedPerson
  • 🏢 OrgModule - 组织架构Employee、Department
  • 💰 FinModule - 财务管理Invoice、PurchaseOrder、Transaction
  • 📋 EngModule - 委托管理Matter、Project、Submission
  • 🛍️ SvcModule - 服务产品Package、Product、FormTemplate
  • ⚙️ MgtModule - 管理系统(配置、审计、监控)

技术特色

  • 💎 NovFramework: 自研业务框架NovCore、NovForm、NovChat、NovNotification
  • Livewire 3: 全栈式 Reactive PHP UI无需 JavaScript
  • 🧪 Pest 4: 现代化测试驱动开发,支持浏览器自动化
  • 🐳 Docker + Sail: 开箱即用开发环境,一键启动
  • 🌏 多语言: 支持繁体中文zh_HK、英文en_GB、简体中文

📦 技术栈

类别 技术 版本 用途
后端 PHP 8.2+ 核心语言
Laravel 12.x Web 框架
Laravel Reverb 1.x 实时通信
Laravel AI ^0.1.5 AI 集成
Laravel MCP ^0.5.6 AI 工具服务
前端 Livewire 3.x 服务器驱动 UI
Volt 1.7.x 单文件组件
Tailwind CSS 4.x 样式框架
DaisyUI 5.x 组件库
业务框架 Spatie Model States ^2.12 状态机
Lorisleiva Actions ^2.9 业务操作
Spatie Permission ^6.21 权限管理
开发工具 Laravel Sail 1.52.x Docker 环境
Laravel Pint 1.25.x 代码格式化
Pest 4.x 测试框架
Playwright 1.58.x E2E 测试
PHPStan 2.1.x 静态分析

🏗️ 架构亮点

Monorepo 结构

nova/
├── app/
│   ├── CliModule/      # 客户管理
│   ├── OrgModule/      # 组织架构
│   ├── FinModule/      # 财务管理
│   ├── EngModule/      # 委托管理
│   ├── SvcModule/      # 服务产品
│   ├── MgtModule/      # 管理系统
│   ├── NovCore/        # 核心框架NovAction/NovState
│   ├── NovForm/        # 动态表单系统
│   ├── NovChat/        # 即时通讯
│   └── NovNotification/# 通知系统
├── packages/           # 可复用包(如 NovForge
├── docs/               # 详细文档194+ 文档)
└── AGENTS.md           # AI 助手指南

核心设计模式

  • Domain-Driven Design (DDD): 模块化按业务域划分,每个模块独立自治
  • State-Action Pattern: NovAction + NovState 统一业务操作模式,清晰的状态流转
  • Dynamic Forms: NovForm 提供可配置表单系统,支持 FieldTemplate、FormSection
  • Real-time: Reverb + NovChat 实现即时通讯、通知推送
  • Notifications: 三通道通知站内、Email、Toast统一管理

详细架构请见 docs/architecture/business.md


🚦 快速开始

前置要求

  • Docker & Docker Compose
  • Git
  • Node.js 20+ (用于前端构建)

1. 克隆项目

git clone https://github.com/your-org/nova.git
cd nova

2. 启动开发环境

# 启动 Sail 容器(首次会自动构建)
vendor/bin/sail up -d

# 安装 PHP 依赖
vendor/bin/sail composer install

# 安装前端依赖
vendor/bin/sail npm install

# 生成应用密钥
vendor/bin/sail artisan key:generate

3. 配置环境

# 复制环境文件
# 选择对应环境的模板文件并复制到 .env
#   - 本地开发: cp .env.example .env
#   - 沙箱环境: cp docker/sandbox-cn/.env.example .env
#   - 生产环境: cp docker/production-hk/.env.example .env

# 编辑 .env设置数据库连接Sail 默认已配置)
# DB_CONNECTION=pgsql
# DB_HOST=pgsql
# DB_PORT=5432
# DB_DATABASE=nova
# DB_USERNAME=sail
# DB_PASSWORD=password

4. 初始化数据库

# 运行迁移
vendor/bin/sail artisan migrate

# 填充基础数据(可选)
vendor/bin/sail artisan db:seed

# 填充测试数据(开发环境)
vendor/bin/sail artisan db:seed --class=TestDataSeeder

5. 启动开发服务器

# Sail 已包含 Nginx + PHP + PostgreSQL + Redis
# 访问应用: http://localhost

# 前端热重载(新终端)
vendor/bin/sail npm run dev

6. 运行测试

# 所有测试 (Pest 4, 注意: 并行已禁用)
vendor/bin/sail artisan test

# 质量门禁检查 (提交前必须通过)
vendor/bin/sail bin pint          # 代码格式化
vendor/bin/sail artisan phpstan   # 静态分析 (level 1)

# 特定测试组
vendor/bin/sail artisan test --group=Unit
vendor/bin/sail artisan test --group=Integration

# 浏览器 E2E 测试 (Playwright, 需ChromeDriver)
vendor/bin/sail npm run test  # 或 vendor/bin/sail playwright test

当前测试状态 (2025-03-12):

  • 质量门禁已建立: Pint 100%, PHPStan level 1 (0 errors)
  • ⚠️ 已知限制:
    • 5个 IssueCommandsTest 单元测试失败 (Mock绑定问题)
    • Feature测试套件自动发现故障 (0个测试可运行)
    • PHPStan level 3: 207 errors (过高, 降级为level 1)
  • 📊 测试覆盖率: 未测量

详细测试质量改进报告见: .sisyphus/plans/archive/test-quality-improvement/FINAL_REPORT.md

```bash
# 所有测试 (Pest 4)
vendor/bin/sail artisan test

# 带覆盖率报告
vendor/bin/sail artisan test --coverage

# 特定测试
vendor/bin/sail artisan test --filter=UserAccountTest

# 浏览器 E2E 测试 (Playwright)
vendor/bin/sail npm run test  # 或 vendor/bin/sail playwright test

配置管理

文件结构

  • .env - 核心配置运行时必需gitignore
  • .env.local - 本地覆盖仅开发环境gitignore
  • docker/sandbox-cn/.env.example - 沙箱环境模板
  • docker/production-hk/.env.example - 香港生产环境模板

首次设置

  1. 选择环境,复制对应模板到 .env

    # 沙箱(开发测试)
    cp docker/sandbox-cn/.env.example .env
    
    # 生产(香港)- 仅在服务器部署时使用
    cp docker/production-hk/.env.example .env
    
  2. 编辑 .env,修改以下关键项:

    APP_KEY=base64:...          # 运行 `php artisan key:generate`
    APP_URL=http://你的域名
    DB_DATABASE=nova
    DB_USERNAME=sail
    DB_PASSWORD=你的强密码
    
  3. 启动容器(沙箱环境):

    docker compose -f docker-compose.sandbox.cn.yml up -d
    

环境切换

  • 开发APP_ENV=local + .env.local 覆盖调试设置
  • 沙箱APP_ENV=local(或 staging
  • 生产APP_ENV=production + APP_DEBUG=false

Sail vs Docker

  • 本地开发:使用 vendor/bin/sail up(依赖 .env + .env.local
  • 沙箱测试:使用 docker compose -f docker-compose.sandbox.cn.yml
  • 生产:不使用 Docker直接部署或使用 docker-compose.prod.*.yml

环境变量优先级

  1. Shell 环境变量(最高)
  2. .env.local(开发时覆盖)
  3. .env(基础配置)

Git Hooks Setup

Nova uses Husky v9+ for Git hooks. After cloning the repository, run the setup script to install hooks:

bash scripts/setup-husky.sh

This creates symbolic links from .husky/ to .git/hooks/ and ensures hooks are executable.

What the hooks do:

  • pre-commit: Runs code style checks (Pint), static analysis (PHPStan), and domain constraint validation
  • commit-msg: Validates commit message format using commitlint

Manual verification:

# Check hooks are linked
ls -l .git/hooks/pre-commit .git/hooks/commit-msg

# Test a commit (bypass hooks with --no-verify if needed)
git commit -m "test"

See docs/security/env-protection.md for Git safety best practices.


📚 文档

注意: 文档已迁移至 docs/ 统一目录,所有文档现在通过 docs/INDEX.md 导航。

核心文档

文档 说明
📖 完整文档索引 所有项目文档的导航中心194+ 文档)
🏗️ 架构设计 系统架构、设计决策、业务规则
📦 模块开发 如何开发新模块、编码规范
🧪 测试策略 测试规范、覆盖率要求
🔄 NovAction 迁移 老代码迁移到新框架指南

模块文档

模块 文档 说明
NovCore app/NovCore/README.md 核心框架(状态-操作模式)
NovForm app/NovForm/README.md 动态表单系统
NovChat app/NovChat/README.md 即时通讯
NovNotification app/NovNotification/README.md 通知系统
CliModule app/CliModule/README.md 客户管理模块
OrgModule app/OrgModule/README.md 组织架构模块
FinModule app/FinModule/README.md 财务管理模块
EngModule app/EngModule/README.md 委托管理模块
SvcModule app/SvcModule/README.md 服务产品模块

AI 开发助手

  • 🤖 AGENTS.md - 为 AI 助手提供的项目上下文(技能激活、规范、架构)

🤝 贡献指南

我们欢迎社区贡献!请遵循:

  1. Fork & Branch: 基于 feature/first 分支创建功能分支
  2. 遵循规范: 遵守项目的 Laravel 规范NovCore 约定
  3. 测试驱动: 新功能必须包含测试,确保覆盖率不下降
  4. 代码格式: 提交前运行 vendor/bin/sail bin pint
  5. 更新文档: 修改代码时同步更新相关文档(docs/ 或模块 docs/
  6. PR 描述: 清晰说明变更内容和原因,关联 Issue

详细指南见 CONTRIBUTING.md(待创建)。


🔄 版本历史

  • v0.2.0 (2025-02-25): 架构重构、模块独立化、Pest 4、Playwright、PostgreSQL 支持
  • v0.1.1 (2025-09-03): 初始版本,基础认证和模块框架

完整变更见 CHANGELOG.md


📄 许可证

MIT License。详见 LICENSE 文件。


📞 支持与联系


Made with ❤️ by Nova Team
面向香港及大中华区的企业级解决方案