278 Commits
Author SHA1 Message Date
Henry Zhang e01c8deda5 chore: consolidate CI, docs, and issue templates (#98)
* ci(dependabot): add cargo ecosystem, groups, and clean up stale docker directories

* docs(ai): add spring-ai-deep-dive cross-references in en and zh indexes

* docs(community): add english FAQ and frontend developer guide

* chore(issue-templates): translate all templates to english

* ci(docker): add 20 missing driver images to Dockerfile, compose, and Makefile

* fix(docs): remove Vue template syntax from panorama SVGs so they render

* docs(ai): add spring-ai-deep-dive pages in en and zh
2026-06-28 23:42:05 +08:00
Henry Zhang 72a5fceac0 chore: consolidate CI, docs, and issue templates (#99)
* ci(dependabot): add cargo ecosystem, groups, and clean up stale docker directories

* docs(ai): add spring-ai-deep-dive cross-references in en and zh indexes

* docs(community): add english FAQ and frontend developer guide

* chore(issue-templates): translate all templates to english

* ci(docker): add 20 missing driver images to Dockerfile, compose, and Makefile

* fix(docs): remove Vue template syntax from panorama SVGs so they render

* docs(ai): add spring-ai-deep-dive pages in en and zh
2026-06-28 23:42:04 +08:00
dependabot[bot] ef0cfbd45f build(deps): bump mermaid from 11.15.0 to 11.16.0 in /docs
Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 11.15.0 to 11.16.0.
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Commits](https://github.com/mermaid-js/mermaid/compare/mermaid@11.15.0...mermaid@11.16.0)

---
updated-dependencies:
- dependency-name: mermaid
  dependency-version: 11.16.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 22:35:34 +08:00
pnoker 3c725da38e docs: 新增四层参考架构组件,优化架构图亮色主题与 README 架构概览
- 新增 ArchitectureDiagram.vue 组件,四层架构(应用层/平台层/网络层/感知层)
   高保真还原 architecture-*.svg 布局,Architecture.vue 配色体系
   内联 SVG + CSS 自定义属性,明暗主题自适应
   DICT 字典 zh/en i18n 全覆盖
- architecture-*.svg 四个文件配色从暗色主题转为亮色
- 新增 architecture-panorama-*.svg 产品架构全景图(Architecture.vue 静态版)
- 在架构总览页(zh/en)集成 ArchitectureDiagram 组件
- README(zh/en/ja/vi)架构概览重构:
   新增产品架构全景 + 四层参考架构两张图
   分层表从旧四层(驱动/数据/管理/应用)更新为 IoT 标准四层
   逐层标注 IoT 参考职责 + DC3 落地映射
- 图例标签同步更新:应用/平台/网络/感知/安全/部署
2026-06-28 22:16:56 +08:00
pnoker b9ff83bc1d docs: add open-source license explanation pages in zh and en 2026-06-28 19:57:58 +08:00
pnoker f301e41c6e style: apply consistent formatting to docs, config, and root files
Line wrapping, table alignment, blank line consistency across config.mts,
i18n, locale JSONs, FAQ, quickstart, frontend/development guides,
superpowers plans, README variants, and PR template.
2026-06-28 19:57:58 +08:00
pnoker a1d249bd16 docs: replace code of conduct include with full inline content
Add comprehensive community guidelines in both zh and en, replacing
the previous @include directive. Remove orphaned CODE_OF_CONDUCT.zh.md.
2026-06-28 19:57:58 +08:00
pnoker e5b7d676d0 chore: remove unused public assets and orphan documentation
- Remove unreferenced public images (app, dashboard, error, loading-init)
- Remove dead script dc3-web/scripts/testing/changed-test-plan.mjs
- Remove orphan frontend docs (bad.md, settings-design, guardrails)
2026-06-28 19:57:58 +08:00
pnoker 750219b527 refactor(docs): unify hero and nav logo to single logo.svg
Remove hero-logo.svg; use logo.svg for both navbar icon and hero image.
2026-06-28 19:57:57 +08:00
pnoker c808d45492 refactor: migrate images from dc3/images to docs/public/images
- Rename iot-dc3-architecture-{lang}.svg → architecture-{lang}.svg
- Move all architecture SVGs and screenshots to docs/public/images/
- Update 16 references across all 4 README language variants
- Remove now-empty dc3/images/ directory
2026-06-28 19:57:56 +08:00
pnoker 49f018cb1b refactor(docs): extract all i18n strings to locales/{lang}.json
Replace inline zh/en pairs scattered across PILLARS, COMMUNITY, and
uiLabels() with a single t(lang, key) lookup backed by locale JSON files.

- Entry type simplified from [code, zh, en] to [code] (code == i18n key)
- Group/Pillar types use key-based lookup instead of zh/en fields
- uiLabels() now reads all 17 strings via t() from locale files
- Adding a language: create locales/<lang>.json + one line in i18n.ts
2026-06-28 19:57:56 +08:00
pnoker fb043ec8ff docs: add TODO remediation plan covering 19 documentation improvements 2026-06-28 19:57:56 +08:00
pnoker 9abd1c67b0 feat(docs): add image zoom via medium-zoom and enhance code block styling
- Install medium-zoom for click-to-enlarge on content images
- Add monospace font stack (JetBrains Mono, Fira Code, Cascadia Code)
- Add brand-green left border accent on code blocks
- Refine inline code padding and font weight
2026-06-28 19:57:56 +08:00
pnoker 0efdf6303b feat(docs): add social links, reorder nav, FAQ, frontend guide, and IDEA setup
- Add Gitee and Twitter/X social links to navigation bar
- Rename nav "Connectivity" to "Drivers" for consistency
- Reorder nav menu: Overview → Architecture → Drivers → Foundations → Develop → Ops
- Add comprehensive FAQ community page covering license, pricing, tech choices
- Add frontend development guide and integrate into Development sidebar
- Add JetBrains IDEA setup section to quickstart (EnvFile, run configs, common issues)
- Add Maven command reference and debugging tips to development guide
2026-06-28 19:57:56 +08:00
pnoker ef01d7de3e fix(docs): correct broken markdown bold syntax in zh/en index pages
The ** language & frameworks ** line had a newline between the opening
and closing **, causing asterisks to render as literal text instead of bold.
2026-06-28 17:49:10 +08:00
pnokerandClaude 2198d7fffe chore: merge iot-dc3-web frontend into monorepo
Merge the standalone iot-dc3-web repository into iot-dc3 as dc3-web/,
creating a single monorepo with unified versioning, CI/CD, and release
process.

- subtree-add iot-dc3-web under dc3-web/ with full commit history
- relocate nginx configs and SSL certs to dc3/dependencies/
- merge CI workflows (ci-backend.yml, ci-web.yml, docker-ci-web.yml)
- merge Issue/PR templates and dependabot config
- host frontend docs under docs/zh/frontend/
- share .husky/ hooks via root-level package.json (pnpm)
- unify versioning: single dc3/bin/tag.sh (vYYYY.M.P) for the whole repo
- update Dockerfile, docker-compose.yml, Makefile for new paths
- remove redundant directories from dc3-web/ (.claude, .github, dc3, docs, bin)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-28 14:43:22 +08:00
pnokerandClaude e133f5a027 docs: 完善工作流与贡献指南
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-28 09:45:00 +08:00
pnoker 17eceb7ad4 docs: add git workflow design spec and implementation plan 2026-06-26 14:32:02 +08:00
pnoker 1c11831cbc docs: comprehensive documentation overhaul across English and Chinese sites 2026-06-26 13:17:41 +08:00
pnokerandClaude Opus 4.8 5f1ab36ade docs(site): apply verification fixes to remaining driver and foundation pages
Source-checked corrections from the verification pass that were not captured
in the prior commit: mqtt default broker (dc3-rabbitmq:1883), snmp/can/http/
ble/zigbee command vs point attribute read sources and honest capability
labels, opc-ua/opc-da/modbus-rtu/fins/listening-virtual wording, and the
fieldbus/iot-protocols foundations chapters. Bilingual, all within drivers/
and foundations/, no scope creep.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 12:55:41 +08:00
pnokerandClaude Opus 4.8 c291c6f0aa docs(site): fix factual issues flagged by independent source verification
Apply source-checked corrections across driver and foundations pages:
- mqtt/snmp/can/http/ble/zigbee/listening-virtual: command-attribute vs
  point-attribute read sources, default broker (dc3-rabbitmq:1883, not EMQX
  localhost:31883), dead driver-level properties, capability matrix alignment
  (CAN write ✓→—), and honest skeleton/partial labels.
- aiot: MCP catalog refresh is manual (POST /mcp/tool/catalog/refresh), not
  scheduled PT5M; AGENTIC_MEMORY_ENABLED dual default clarified.
- edge-cloud: connection/state management sits on the data center, not the
  manager center; soften the four-centers ↔ four-capabilities 1:1 wording.
- security: salt is stateless (no server-enforced 5-min timeout);
  DC3_SECURITY_KEY has a "must exist" startup check but no weak-value rejection.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 12:42:07 +08:00
pnokerandClaude Opus 4.8 4b190c1d43 docs(site): translate .vitepress code comments to English and calm hero animations
Convert all Chinese code comments under docs/.vitepress (config + theme +
components) to English; UI string literals (zh DICT values, nav labels,
uiLabels) are kept verbatim. Soften the home hero motion for a calmer feel:
slower logo wave (omega 1.0→0.6, sway 6→4.5), gentler particle convergence
(inward 120-200→70-120 px/s, fewer/slower dots), slower wave plane (0.5→0.3).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 11:28:32 +08:00
pnokerandClaude Opus 4.8 dbe4d6bc83 docs(site): link data-plane, auth-rbac and ai hubs to their foundations chapters
Add foundations back-links (data-plane → time-series, auth-rbac → security,
ai → aiot) to complete the theory-to-implementation loop across both locales.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 11:28:32 +08:00
pnokerandClaude Opus 4.8 93b111e3fb docs(site): deepen all 28 driver pages and add foundations back-links
Rewrite every protocol driver page (zh+en) into a four-section structure
— protocol background, attribute config, troubleshooting, and how it lands
in DC3 — cross-linked to the foundations network-layer chapters and the
driver capability matrix. Implementation status is verified against each
driver's source and labeled honestly (skeleton: ethernet-ip, iec104, dlms,
can, zigbee; partial: fins, mqtt, lwm2m, virtual). Add foundations
back-links from the concepts and drivers hubs to close the theory↔practice
loop.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 11:04:07 +08:00
pnokerandClaude Opus 4.8 0a33fb47d9 docs(site): add IoT foundations pillar — four-layer knowledge woven with DC3
Add the Foundations pillar (nav position 2) as a structured IoT primer
organized by the classic four-layer reference architecture (perception,
network, platform, application) plus cross-cutting security. One overview
(2.0) with a bespoke FourLayers SVG mapping each layer to its DC3
implementation, and eight chapters (sensing, identification, fieldbus,
iot-protocols, edge-cloud, data-pipeline, aiot, security), bilingual and
fully original. Every chapter closes with a verified "in IoT DC3" section
and cross-links into the product docs. Add the sixth homepage card.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 23:48:00 +08:00
pnokerandClaude Opus 4.8 147368a7ee docs(site): fix language switcher, restyle mermaid, add bespoke flow diagrams
Drop the gate "Languages" locale so the switcher shows only zh/en; keep the
/ redirect gate for no-JS fallback. Deepen the global mermaid theme (softer
on-brand palette, rounded nodes, cleaner edges) so all 156 diagrams read
cleaner. Add a reusable .dc3-diagram palette and three hand-built SVG
components (DataPlane, CommandPlane, AuthFlow) replacing the keystone
diagrams on the data-plane, command-plane and auth-rbac pages, bilingual
and theme-aware.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 23:18:57 +08:00
pnokerandClaude Opus 4.8 cfd5a2a857 docs(site): refine top nav into five pillars, add glossary and driver matrix
Collapse the flat 10-section navigation into five pillars (Overview,
Architecture, Connectivity, Operations, Develop) plus a Community dropdown,
via a pillar model in config.mts. Legacy dirs (modules, guide, ai,
automation, device-onboarding) aggregate into pillars through multi-path
sidebars and longest-prefix matching, with zero file moves and zero dead
links. Adds a bilingual glossary and driver capability matrix, and aligns
the homepage feature cards.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 21:07:54 +08:00
pnokerandClaude Opus 4.8 1701413a4d docs(site): add IA-refresh spec and P0 plan
Design and task breakdown for collapsing the flat 10-section nav into
professional pillars and adding an IoT foundations knowledge pillar.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 21:07:54 +08:00
pnoker d06037ee17 docs(site): fix browser title; add hero wave background and converging particle field
- title: add config `title: 'IoT DC3'` so the browser tab reads "IoT DC3"
  (inner pages ":title | IoT DC3") instead of the default "VitePress".
- hero: full-bleed background particle field that converges clockwise toward the
  logo from all directions (HeroParticles), plus a pseudo-perspective wave
  point-grid underlay (HeroWaves); both pure 2D canvas, layered under the hero
  content (waves z0 < particles z1 < content z2).
2026-06-25 16:59:40 +08:00
pnoker f6990019be docs(site): live hero logo, unified architecture component, grouped sidebar
- hero: rebuild the homepage logo as a live canvas particle system faithfully
  reconstructed from logo.svg (54 dots, solid #1296db) instead of a static image;
  the dots animate with a clockwise, inward-converging wave along the three spiral
  arms — no whole-image rotation, no extra particles or glow haze.
- architecture: render the homepage/architecture diagram via a single
  theme-reactive Architecture.vue component (renamed from Dc3Architecture.vue);
  drop the static SVG/HTML drawings.
- cleanup: remove ~23MB of unused images (legacy/ 167 files, architecture-cn.png,
  iot-dc3-architecture-{zh,en}.svg, diagrams/iot-dc3-architecture.html).
- sidebar: group drivers/concepts/architecture into collapsible sections;
  fix a pre-existing dead-link bug in cross-section link generation.
- nav: brand-blue site title.
- chore: bump packageManager to pnpm@11.9.0.
2026-06-25 15:30:22 +08:00
pnoker e61b620399 docs: fix tenant-isolation fiction + data-plane schema/compression + MCP endpoint
Whole-site QA pass (concepts + drivers + architecture + operation + home) with adversarial verification against source. Fixed:
- Remove fabricated 'MyBatis-Plus tenant-line interceptor auto-appends WHERE tenant_id' (no such interceptor exists; isolation is controller-layer requireTenant/filterTenant) across architecture/index, auth-rbac, modules, tenant concept (zh+en).
- data-plane: add dc3_history schema qualifier + compression (7d) / retention (180d) lifecycle policies (zh+en).
- operation/index: MCP endpoint is gateway-root POST /mcp, not /api/v3/agentic/mcp (zh+en).
Concept pages (9), drivers (28), services/domain-model/command-plane/device-onboarding/data-commands/alarms verified accurate against source.
2026-06-25 10:54:07 +08:00
pnoker c470de529e docs(drivers): add bilingual reference pages for all 28 drivers + catalog
Per-driver onboarding pages (protocol intro, driver/point/command config tables, collection & health, minimal example, pitfalls), config tables taken verbatim from each driver application.yml. Drivers catalog + 'Drivers' nav entry. Adversarial pass verified every attribute row against the yml and corrected behavioral drift (JDBC executeQuery path, dlms fail-fast, listening-virtual name-based parse, modbus-rtu per-device connection, opc-ua auto cert, fins 16-bit read, etc.).
2026-06-24 21:43:13 +08:00
pnoker 77273d2b24 docs(concepts): add 9 bilingual core-concept reference pages
Device, Driver, Profile (thing model), Point, PointValue, Command, Event, Tenant, Attribute&Config — each grounded in source BOs + maintainer design docs, beginner-friendly with analogies, cross-linked. Field tables/enums/table names/APIs verified against source (adversarial pass caught & fixed design-doc drift: dc3_event_history not _record, EventLevelEnum LOW/MEDIUM/HIGH/CRITICAL, tenant isolation is controller-layer not a DB interceptor).
2026-06-24 21:19:40 +08:00
pnoker 11d2d0176f docs(home): add recolored logo hero image (azure gradient + soft glow), floating instead of bordered card 2026-06-24 19:40:09 +08:00
pnoker 64035dd72a docs(site): switch base to / for docs.dc3.site custom domain (fix icon/lang-redirect paths) 2026-06-24 19:06:16 +08:00
pnoker 85d7f300d7 fix(docs): transparent home navbar so hero title isn't occluded; restore doc-page header divider to match sidebar 2026-06-24 17:22:33 +08:00
pnoker a6846212fc docs(site): logo-blue retheme, grouped sidebar, frosted header, flat cards; relocate vitepress project under docs/
Theme: brand palette to logo azure (#1296db family) with AA-tuned links, neutralized backgrounds/shadows, per-section sidebar group headers with pill active state, borderless frosted nav, flat translucent feature cards; mermaid + theme-color recolored to blue.

Build: move package.json/pnpm-lock/pnpm-workspace/node_modules under docs/; scripts to 'vitepress dev/build/preview'; CI docs.yml uses working-directory docs + cache-dependency-path docs/pnpm-lock.yaml.
2026-06-24 16:12:03 +08:00
pnoker 8c0f1b00ac docs: overhaul site with bilingual i18n, mermaid, and expanded guides 2026-06-23 19:34:22 +08:00
pnoker 9aa6a425d8 docs(iot-dc3): refresh multilingual README with sharper AI-native positioning and design principles
- Replace slogan with capability-oriented messaging across en/zh/ja/vi
- Add design principles section (Facade, DO/BO/VO, tenant isolation)
- Add contributors badge
- Fix Japanese blockquote rendering breakage
2026-06-23 14:33:07 +08:00
pnoker 91643afed5 docs: refine x-dc3-ai standard and annotation-rollout specs 2026-06-22 12:08:11 +08:00
Vickey 5131b37568 build(deploy): add postgres/rabbitmq dependency assets and regenerate openapi snapshots 2026-06-19 16:49:01 +08:00
pnoker d66ce3e8e5 docs(mcp): add SP2 x-dc3-ai annotation rollout spec 2026-06-19 07:33:48 +08:00
pnoker 7e103e1db1 refactor(auth): reorganize MCP tool quality mapping and annotation validation 2026-06-19 07:00:49 +08:00
Vickey 1ec51b3aff test(auth): tighten x-dc3-ai proof to annotation conversion only
Remove the misleading hand-built model segment that adds extensions then asserts
the serialized JSON. That pattern proves nothing about swagger-core's annotation
pipeline (you're asserting a map you just inserted by hand).

Keep the focused test: read @Operation annotation via reflection, call
AnnotationsUtils.getExtensions(...) which IS swagger-core's real annotation→map
conversion, and assert both the x-dc3-ai key and its riskLevel=HIGH content.

End-to-end emission into /v3/api-docs is verified separately (Task 8).
2026-06-19 00:27:52 +08:00
Vickey af7f99c526 docs(mcp): add x-dc3-ai standard and parse-pipeline spec and plan 2026-06-19 00:16:10 +08:00
pnoker cba2d54780 docs: align Make command references with new compose shortcuts
Update READMEs, guides, USAGE and the stack-test skill to use the
up-<stack>[-<registry>] targets in place of the removed dev-* commands.
2026-06-18 18:42:28 +08:00
pnoker 35d985e2f3 build: add compose shortcut targets and drop commit-msg lint hook
Generate <op>-<stack>[-<registry>] compose shortcuts and test/coverage
targets in the Makefile, remove the install-hooks target and the
.githooks commit-msg linter, and document the design.
2026-06-18 18:42:20 +08:00
Vickey cc29d53904 docs: mark identity and mcp design proposals as landed
- update identity-principal-service-account design to reflect implemented behavior
- align mcp-server design with authoritative implementation details
2026-06-18 14:06:12 +08:00
pnoker 0feba780ee feat: update pom version 2026-06-13 11:15:32 +08:00
pnoker 7dacc47056 docs(auth): document principal and mcp architecture
Update auth, gateway, architecture, quickstart, changelog, and superpowers design documents for the Principal identity model and OAuth-backed MCP server.
2026-06-12 21:20:41 +08:00