# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

最佳实践
--------------

BACH CLI 首选：
  始终使用 bach.py 进行所有操作
  - 任务 --> 巴赫任务添加/列表/完成
  - 内存 --> bach mem 写/读
  - 技能 --> bach --技能列表/搜索
  - 工具 --> bach 工具列表/运行

为什么？
  - 安全编码（UTF-8）
  - 验证结构
  - 无腐败
  - 核行动
  - 统一界面

替代方案（仅当 CLI 不起作用时）：
  1.带有 bach_paths.py 的 Python 脚本
  2.直接DB查询（只读！）
  3. 切勿手动编辑 JSON！

规则索引：
  什么？                      在哪里？
  CLI 语法 --help cli
  记忆法则——帮助记忆
  任务系统--帮助任务
  编码标准--帮助编码
  文件夹结构--help bach_paths
  命名约定--帮助命名
  数据格式--帮助格式
  已知问题--帮助课程
  工具概述--帮助工具
  工具前缀 --help 命名（工具前缀部分）
  策略验证器工具/_policies/

架构原则：
-----------------------
这些规则适用于系统范围：

1。将概念集中存储在文档/中
   所有 CONCEPT_*.md 都属于 docs/ （根目录）。
   所有计划集中于一处 = 更好的概览。

   实施后：将概念移至 docs/_archive。

   系统中的 Markdown 文件：
   - docs/CONCEPT_*.md = 概念和计划（核心！）
   - */README.md = 文件夹指南、索引
   - Skills/SKILL.md = 代理/技能文档
   - Skills/*.md = 代理主文档（ATI.md、STEUER.md）

   规则：去中心化 .md 仅用于导航和技能文档，
          不适用于概念或计划。

2。文档/文件夹结构
   docs/ 涉及系统的开发：

   _archive/ 存档的旧概念（已实现/已过时）
   _ideas/ 长期概念（尚未批准）
   _test_and_reports/ 开发人员分析、当前状态、测试
   分析/分析结果和报告
   参考/参考文档
   (root) CONCEPT_*.md - 所有概念集中
                      所有计划均在一个地方实施

   用户/关注系统的使用：
   - 使用过程中产生的报告
   - 不适用于系统开发

3。进化的迁移
   重命名/重组时没有硬中断。
   逐步迁移旧结构，而不是一次性全部迁移。

4。统一的数据库
   bach.db = 单个主数据库（210+ 个表，其中包含所有内容）

   注意：user.db 在 v1.1.84 中被合并到 bach.db 中。
   registry.db（分发版）和 archive.db（存档版）是
   特殊数据库，不属于核心系统的一部分。

5。 JSON 之前的数据库（RecludOS 主义！）
   仅在合理的例外情况下才使用 JSON 文件。
   默认值始终是数据库。

   JSON 仅允许在以下情况下使用：
   - 用户特定（新创建，未迁移）
   - 透明度很重要（用户应直接编辑）
   - 过程特征（短暂的、正在处理的）
   - 导入/导出交换格式

   详细信息：docs/help/formats.txt

6。 DIST_TYPE 三步
   2 = CORE（系统文件，分发是备份）
   1 = 模板（1x 用于重置的快照）
   0 = USER（用户数据，正常轮换）

7.帮助就是真理
   docs/help/*.txt 是主要文档。
   如有异议：docs/help/wins。
