chore: 初始化 MCM/ICM Toolkit 仓库骨架

审查并精简 ChatGPT 的建库建议后落地的第一版骨架,只定接口不写实现。

- 建议审查:14 个包 → 7 个;约 250 个函数 → 约 40 个;5 个 Result 类 → 1 个
  (docs/01-suggestion-review.md)
- docs/:架构、路线图(含永久不做清单)、环境、Git 工作流、函数卡片模板
- src/mcm_toolkit/:core / data / stats / models / solve / decision / viz
  共 23 个模块,均为签名 + docstring + NotImplementedError
- tests/:9 个文件,其中 test_api_surface.py 已通过(20 passed)
- examples/ problems/ notebooks/ figures/ tables/ 骨架
- pyproject.toml(核心依赖 4 个 + 6 组 extras)、environment.yml
- scripts/:setup-venv.ps1(ASCII + LF)、setup-conda.ps1、doctor.ps1
- 环境:.venv(system-site-packages)与 conda 环境 mcm-toolkit 均已建好,
  数值栈版本与 base 完全对齐(numpy 2.4.6 / scipy 1.18.1 / pandas 3.0.6,MKL 后端)
This commit is contained in:
guzhujushi committed 2026-10-01 17:43:48 +08:00
commit 5319589dfd
76 files changed
+6812

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
# 行尾策略:仓库内统一 LF,checkout 不做自动转换。
#
# 理由见 AGENTS.md:shell 脚本必须 UTF-8 无 BOM + LF。
# 这个项目还会被队友在 Windows / WSL / Linux 上 clone,
# 不固定行尾的话,每次提交都会出现"整文件都变了"的假 diff。
* text=auto eol=lf
# ---- 文本,显式声明 ----
*.py text eol=lf
*.md text eol=lf
*.toml text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.json text eol=lf
*.cfg text eol=lf
*.txt text eol=lf
*.tex text eol=lf
*.bib text eol=lf
.gitignore text eol=lf
.gitattributes text eol=lf
.editorconfig text eol=lf
# PowerShell:必须是纯 ASCII + LF(Windows PowerShell 5.1 无 BOM 时按 ANSI 解析,
# 中文会直接导致语法错误)。见 docs/04-environment.md §8。
*.ps1 text eol=lf
# 批处理必须 CRLF,否则 cmd 解析会出问题
*.bat text eol=crlf
*.cmd text eol=crlf
# ---- 二进制,禁止任何转换 ----
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.pdf binary
*.eps binary
*.svg text
*.xlsx binary
*.xls binary
*.docx binary
*.pptx binary
*.zip binary
*.exe binary
*.dll binary
*.db binary
*.ico binary
# ---- diff 行为 ----
# 笔记本是 JSON 文本,可以正常 diff,但不要参与语言统计
*.ipynb -linguist-detectable