่ทณ่ฝ‰่‡ณ

้ …็›ฎๅฏๆŒ็บŒๆ€ง็ญ–็•ฅ (Sustainability Strategy)

่งฃๆฑบ้ขจ้šช: ๅ–ฎไธ€็ถญ่ญท่€…็š„ๅฏๆŒ็บŒๆ€ง้ขจ้šชใ€ๅŠŸ่ƒฝ่†จ่„นใ€ๆŠ€่ก“ๆฃงไพ่ณด

ๆœฌๆ–‡ๆช”่ชชๆ˜Ž Boring-Gemini ้ …็›ฎ็š„ๅฏๆŒ็บŒ็™ผๅฑ•็ญ–็•ฅ๏ผŒ็ขบไฟ้ …็›ฎ้•ทๆœŸๅฅๅบท็™ผๅฑ•ใ€‚


๐ŸŽฏ ๅฏๆŒ็บŒๆ€ง้ก˜ๆ™ฏ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ๐ŸŒฑ ๅฏๆŒ็บŒๆ€งไธ‰ๅคงๆ”ฏๆŸฑ                                    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                              โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”‚
โ”‚   โ”‚  ๐Ÿ‘ฅ ไบบๅ“กๅฝˆๆ€ง     โ”‚   โ”‚  ๐Ÿ”ง ๆŠ€่ก“ๅฝˆๆ€ง     โ”‚   โ”‚  ๐Ÿ“ฆ ๆžถๆง‹ๅฝˆๆ€ง     โ”‚          โ”‚
โ”‚   โ”‚  (Bus Factor)   โ”‚   โ”‚  (Tech Agnostic) โ”‚   โ”‚  (Modularity)   โ”‚          โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ”‚
โ”‚            โ”‚                     โ”‚                     โ”‚                    โ”‚
โ”‚   โ€ข ๅคš็ถญ่ญท่€…        โ€ข LLM ๆŠฝ่ฑกๅฑค      โ€ข ๆ’ไปถ็ณป็ตฑ               โ”‚
โ”‚   โ€ข ๅฎŒๅ–„ๆ–‡ๆช”        โ€ข ๅฏ้ธไพ่ณด         โ€ข ๆœ€ๅฐๆ ธๅฟƒ               โ”‚
โ”‚   โ€ข ่‡ชๅ‹•ๅŒ– CI/CD    โ€ข ้™็ดš็ญ–็•ฅ         โ€ข ๆธ…ๆ™ฐ้‚Š็•Œ               โ”‚
โ”‚                                                                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿšจ ้ขจ้šช่ญ˜ๅˆฅ่ˆ‡็ทฉ่งฃ

้ขจ้šช 1: ๅ–ฎไธ€็ถญ่ญท่€… (Bus Factor = 1)

็•ถๅ‰็‹€ๆ…‹: โš ๏ธ ้ซ˜้ขจ้šช

ๅฝฑ้Ÿฟ: ๅฆ‚ๆžœไธป่ฆ็ถญ่ญท่€…็„กๆณ•็นผ็บŒ๏ผŒ้ …็›ฎๅฏ่ƒฝๅœๆปฏ

็ทฉ่งฃ็ญ–็•ฅ:

็ญ–็•ฅ ่กŒๅ‹• ็‹€ๆ…‹
ๆ–‡ๆช”ๅฎŒๆ•ด ๆ‰€ๆœ‰ๆžถๆง‹ๆฑบ็ญ–้ƒฝๆœ‰ๆ–‡ๆช”่จ˜้Œ„ โœ… ๅทฒๅฏฆๆ–ฝ
่‡ชๅ‹•ๅŒ– CI/CD ๅ…จ่‡ชๅ‹•ๅŒ–๏ผŒๆธ›ๅฐ‘ไบบๅทฅๅนฒ้  โœ… ๅทฒๅฏฆๆ–ฝ
็ถญ่ญท่€…ๆ‹›ๅ‹Ÿ ๅ‰ตๅปบ MAINTAINERS.md๏ผŒๆ˜Ž็ขบ่ฒข็ป้šŽๆขฏ โœ… ๅทฒๅฏฆๆ–ฝ
้ ˜ๅŸŸๅฐˆๅฎถ ๅœจ CODEOWNERS ไธญๅฎš็พฉ้ ˜ๅŸŸ่ฒ ่ฒฌไบบ ๐Ÿ”„ ้€ฒ่กŒไธญ
ๆฑบ็ญ–่จ˜้Œ„ ADR (Architecture Decision Records) ๐Ÿ”„ ้€ฒ่กŒไธญ
็Ÿฅ่ญ˜่ฝ‰็งป ้Œ„่ฃฝ้—œ้ต็ณป็ตฑ็š„่ชชๆ˜Ž่ฆ–้ ป ๐Ÿ“… ่จˆๅŠƒไธญ

ๆˆๅŠŸๆŒ‡ๆจ™: - [ ] Bus Factor โ‰ฅ 2 (่‡ณๅฐ‘ 2 ไฝๆดป่บ็ถญ่ญท่€…) - [ ] ๆ‰€ๆœ‰ๆ ธๅฟƒๆจก็ต„ๆœ‰ๅ‚™ๆด็ถญ่ญท่€… - [ ] 100% ้—œ้ตๅŠŸ่ƒฝๆœ‰ๆ–‡ๆช”


้ขจ้šช 2: ๅŠŸ่ƒฝ่†จ่„น (Feature Creep)

็•ถๅ‰็‹€ๆ…‹: โš ๏ธ ไธญ็ญ‰้ขจ้šช

ๅฝฑ้Ÿฟ: ็ถญ่ญทๆˆๆœฌๅขžๅŠ ๏ผŒไปฃ็ขผ่ณช้‡ไธ‹้™

็ทฉ่งฃ็ญ–็•ฅ:

็ญ–็•ฅ ่กŒๅ‹• ็‹€ๆ…‹
ๅŠŸ่ƒฝ็Ÿฉ้™ฃ ็ถญ่ญท feature-matrix.md โœ… ๅทฒๅฏฆๆ–ฝ
ๆจก็ต„ๅŒ–ๅฎ‰่ฃ extras: [mcp], [vector], [gui] โœ… ๅทฒๅฏฆๆ–ฝ
ๆ’ไปถๅ„ชๅ…ˆ ๆ–ฐๅŠŸ่ƒฝๅ„ชๅ…ˆไฝœ็‚บๆ’ไปถ โœ… ๅทฒๅฏฆๆ–ฝ
ๅฎšๆœŸๅฏฉๆŸฅ ๅญฃๅบฆๅŠŸ่ƒฝๅฏฉๆŸฅๆœƒ่ญฐ ๐Ÿ“… ่จˆๅŠƒไธญ
ๆฃ„็”จๆต็จ‹ ๆ˜Ž็ขบ็š„ๅŠŸ่ƒฝ็”Ÿๅ‘ฝ้€ฑๆœŸ โœ… ๅทฒๅฏฆๆ–ฝ
่ฆ†่“‹็އ้–€ๆชป ๆ–ฐๅŠŸ่ƒฝๅฟ…้ ˆๆœ‰ 80%+ ๆธฌ่ฉฆ่ฆ†่“‹ โœ… ๅทฒๅฏฆๆ–ฝ

ๅŠŸ่ƒฝ็ฐกๅŒ–ๅŽŸๅ‰‡:

                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚       ๆ–ฐๅŠŸ่ƒฝๆๆกˆ           โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚ ๆ˜ฏๅฆๅฏไปฅไฝœ็‚บๆ’ไปถๅฏฆ็พ๏ผŸ      โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           ๆ˜ฏ โ”‚         โ”‚ ๅฆ
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚ ๅ‰ตๅปบๆ’ไปถ     โ”‚ โ”‚ ๆ˜ฏๅฆๆ ธๅฟƒๅŠŸ่ƒฝ๏ผŸโ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                   ๆ˜ฏ โ”‚      โ”‚ ๅฆ
                              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ” โ”Œโ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                              โ”‚ ๆทปๅŠ ๅˆฐๆ ธๅฟƒ โ”‚ โ”‚ ๆ‹’็ต•ๆˆ–ๅปถๅพŒ  โ”‚
                              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆˆๅŠŸๆŒ‡ๆจ™: - [ ] ๆ ธๅฟƒไพ่ณด < 15 ๅ€‹ - [ ] ๆฏๅญฃๅบฆๅฏฉๆŸฅไธฆๆธ…็† โ‰ฅ 1 ๅ€‹ๅฏฆ้ฉ—ๆ€งๅŠŸ่ƒฝ - [ ] ๆ’ไปถไฝ”ๆ–ฐๅŠŸ่ƒฝๆฏ”ไพ‹ โ‰ฅ 50%


้ขจ้šช 3: ๆŠ€่ก“ๆฃงๅผทไพ่ณด (Vendor Lock-in)

็•ถๅ‰็‹€ๆ…‹: โš ๏ธ ไธญ็ญ‰้ขจ้šช

ๅฝฑ้Ÿฟ: ๅฆ‚ๆžœไพ่ณด็š„ๆœๅ‹™่ฎŠๆ›ดๆˆ–ๅœๆญข๏ผŒ้ …็›ฎๅ—ๅฝฑ้Ÿฟ

ไธป่ฆไพ่ณด้ขจ้šช:

ไพ่ณด ้ขจ้šช็ญ‰็ดš ็ทฉ่งฃ็ญ–็•ฅ
google-genai (Gemini) ๐ŸŸก ไธญ็ญ‰ LLM Provider ๆŠฝ่ฑกๅฑค
chromadb ๐ŸŸก ไธญ็ญ‰ ๅฏๆ›ฟๆ›ๅ‘้‡่ณ‡ๆ–™ๅบซไป‹้ข
fastmcp ๐ŸŸข ไฝŽ MCP ๆ˜ฏ้–‹ๆ”พๆจ™ๆบ–
sentence-transformers ๐ŸŸข ไฝŽ ๅฏๆ›ฟๆ› embedding ๆจกๅž‹

็ทฉ่งฃ็ญ–็•ฅ:

็ญ–็•ฅ ่กŒๅ‹• ็‹€ๆ…‹
LLM ๆŠฝ่ฑก src/boring/llm/provider.py ไป‹้ข โœ… ๅทฒๅฏฆๆ–ฝ
ๅคš Provider Gemini, Ollama, OpenAI, Claude โœ… ๅทฒๅฏฆๆ–ฝ
้™็ดšๆฉŸๅˆถ ๅŠŸ่ƒฝๅœจไพ่ณดไธๅฏ็”จๆ™‚ๅ„ช้›…้™็ดš โœ… ๅทฒๅฏฆๆ–ฝ
ๆœฌๅœฐๅ„ชๅ…ˆ ๆ”ฏๆŒๅฎŒๅ…จ้›ข็ทšไฝฟ็”จ (Ollama) โœ… ๅทฒๅฏฆๆ–ฝ
ๅฏ้ธไพ่ณด ้‡ๅž‹ไพ่ณดๆ”พๅœจ extras ไธญ โœ… ๅทฒๅฏฆๆ–ฝ

ไพ่ณดๆ›ฟๆ›็Ÿฉ้™ฃ:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   ็•ถๅ‰ไพ่ณด       โ”‚    ๆ›ฟไปฃๆ–นๆกˆ      โ”‚   ๅˆ‡ๆ›้›ฃๅบฆ       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ google-genai    โ”‚ ollama/openai   โ”‚ ๐ŸŸข ็ฐกๅ–ฎ         โ”‚
โ”‚ chromadb        โ”‚ qdrant/milvus   โ”‚ ๐ŸŸก ไธญ็ญ‰         โ”‚
โ”‚ sentence-trans  โ”‚ openai embeddingsโ”‚ ๐ŸŸก ไธญ็ญ‰         โ”‚
โ”‚ fastmcp         โ”‚ ๆ‰‹ๅ‹• MCP ๅฏฆ็พ    โ”‚ ๐ŸŸก ไธญ็ญ‰         โ”‚
โ”‚ streamlit       โ”‚ gradio/flask    โ”‚ ๐ŸŸข ็ฐกๅ–ฎ         โ”‚
โ”‚ typer           โ”‚ click/argparse  โ”‚ ๐Ÿ”ด ๅ›ฐ้›ฃ         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆˆๅŠŸๆŒ‡ๆจ™: - [x] ๆ”ฏๆŒ โ‰ฅ 3 ๅ€‹ LLM Provider - [ ] 100% ๆ ธๅฟƒๅŠŸ่ƒฝๅฏ้›ข็ทš้‹่กŒ - [ ] ๆฏๅ€‹ไธป่ฆไพ่ณดๆœ‰ๆ–‡ๆช”ๅŒ–็š„ๆ›ฟไปฃๆ–นๆกˆ


๐Ÿ”„ ่‡ชๅ‹•ๅŒ–็ญ–็•ฅ

ๆธ›ๅฐ‘ไบบๅทฅ็ถญ่ญท่ฒ ๆ“”

่‡ชๅ‹•ๅŒ–้ …็›ฎ ๅทฅๅ…ท ็‹€ๆ…‹
ไปฃ็ขผๆ ผๅผๅŒ– ruff format โœ… ๅทฒๅฏฆๆ–ฝ
Linting ruff check โœ… ๅทฒๅฏฆๆ–ฝ
้กžๅž‹ๆชขๆŸฅ mypy โœ… ๅทฒๅฏฆๆ–ฝ
ๆธฌ่ฉฆๅŸท่กŒ pytest + GitHub Actions โœ… ๅทฒๅฏฆๆ–ฝ
ไพ่ณดๆ›ดๆ–ฐ dependabot โœ… ๅทฒๅฏฆๆ–ฝ
ไพ่ณดๅฏฉ่จˆ pip-audit โœ… ๅทฒๅฏฆๆ–ฝ
ๅฎ‰ๅ…จๆŽƒๆ bandit โœ… ๅทฒๅฏฆๆ–ฝ
ๆ–‡ๆช”็”Ÿๆˆ mkdocs โœ… ๅทฒๅฏฆๆ–ฝ
็‰ˆๆœฌ็™ผๅธƒ GitHub Actions publish.yml โœ… ๅทฒๅฏฆๆ–ฝ
Issue ๅˆ†้กž GitHub Actions (่จˆๅŠƒ) ๐Ÿ“… ่จˆๅŠƒไธญ
PR ่‡ชๅ‹•ๅˆไฝต dependabot-auto-merge.yml โœ… ๅทฒๅฏฆๆ–ฝ

่ณช้‡้–€ๆชป

# ๆ‰€ๆœ‰ PR ๅฟ…้ ˆ้€š้Ž
quality_gates:
  lint: "ruff check . (0 errors)"
  format: "ruff format --check (0 changes)"
  types: "mypy src/boring/ (0 errors)"
  tests: "pytest (100% pass)"
  coverage: ">= 50%"
  security: "bandit (no high/medium)"
  docs: "interrogate >= 80%"

๐Ÿ“š ๆ–‡ๆช”็ญ–็•ฅ

้™ไฝŽ่ฒข็ป้–€ๆชป

ๆ–‡ๆช”้กžๅž‹ ็›ฎๆจ™่ฎ€่€… ๅ„ชๅ…ˆ็ดš
README ๆ–ฐ็”จๆˆถ P0
CONTRIBUTING ๆ–ฐ่ฒข็ป่€… P0
MAINTAINERS ๆฝ›ๅœจ็ถญ่ญท่€… P0
Architecture ้–‹็™ผ่€… P1
API Reference ๆ•ดๅˆ้–‹็™ผ่€… P1
Tutorials ๅญธ็ฟ’่€… P2
ADR ๆ ธๅฟƒๅœ˜้šŠ P2

้›™่ชž็ถญ่ญท

  • ๆ‰€ๆœ‰ๆ ธๅฟƒๆ–‡ๆช”ๆไพ›ไธญ่‹ฑๆ–‡็‰ˆๆœฌ
  • ไฝฟ็”จ CI ๆชขๆŸฅ้›™่ชžๅŒๆญฅ

๐Ÿ“… ๅฎšๆœŸๅฏฉๆŸฅๆธ…ๅ–ฎ

ๆœˆๅบฆๅฏฉๆŸฅ

  • [ ] ๆชขๆŸฅ dependabot PRs
  • [ ] ๅฏฉๆŸฅๆ–ฐ Issues ๅ’Œ PRs
  • [ ] ๆ›ดๆ–ฐๅŠŸ่ƒฝ็‹€ๆ…‹ (ๅฆ‚ๆœ‰่ฎŠๆ›ด)

ๅญฃๅบฆๅฏฉๆŸฅ

  • [ ] ๅŠŸ่ƒฝ็Ÿฉ้™ฃๅฏฉๆŸฅ - ๆจ™่จ˜ๆฃ„็”จๅŠŸ่ƒฝ
  • [ ] ไพ่ณดๅฎ‰ๅ…จๅฏฉ่จˆ
  • [ ] ๆ–‡ๆช”ๅฎŒๆ•ดๆ€งๆชขๆŸฅ
  • [ ] ็ถญ่ญท่€…็‹€ๆ…‹็ขบ่ช
  • [ ] Bus Factor ่ฉ•ไผฐ

ๅนดๅบฆๅฏฉๆŸฅ

  • [ ] ไธป่ฆ็‰ˆๆœฌ่ฆๅŠƒ
  • [ ] ๆžถๆง‹ๆฑบ็ญ–ๅ›ž้กง
  • [ ] ่ฒข็ป่€…ๆ„Ÿ่ฌ่ˆ‡่ชๅฏ
  • [ ] ๅฏๆŒ็บŒๆ€ง็ญ–็•ฅๆ›ดๆ–ฐ

๐ŸŽ“ ็Ÿฅ่ญ˜ไฟๅญ˜

้—œ้ต็Ÿฅ่ญ˜่ณ‡็”ข

็Ÿฅ่ญ˜้กžๅž‹ ไฝ็ฝฎ ่ฒ ่ฒฌไบบ
ๆžถๆง‹ๆฑบ็ญ– docs/adr/ @Boring206
API ่จญ่จˆ docs/api/ @Boring206
้…็ฝฎ่ชชๆ˜Ž docs/reference/configuration.md @Boring206
ๆ•…้šœๆŽ’้™ค docs/reference/troubleshooting.md @Boring206
่ฎŠๆ›ดๆ—ฅ่ชŒ CHANGELOG.md @Boring206

้šฑๆ€ง็Ÿฅ่ญ˜่ฝ‰ๅŒ–

็‚บ้˜ฒๆญข็Ÿฅ่ญ˜ๆตๅคฑ๏ผŒไปฅไธ‹้šฑๆ€ง็Ÿฅ่ญ˜้œ€่ฆๆ–‡ๆช”ๅŒ–๏ผš

  • [ ] MCP ๅทฅๅ…ท่จญ่จˆๅŽŸๅ‰‡
  • [ ] RAG ็ดขๅผ•็ญ–็•ฅๆฑบ็ญ–
  • [ ] Brain Manager ่ณ‡ๆ–™็ตๆง‹ๆผ”้€ฒ
  • [ ] ็‰ˆๆœฌ็™ผๅธƒๆต็จ‹็ดฐ็ฏ€
  • [ ] ๅธธ่ฆ‹ bug ๆจกๅผๅ’Œ่งฃๆฑบๆ–นๆกˆ

๐Ÿ“Š ๅฅๅบทๆŒ‡ๆจ™

้ …็›ฎๅฅๅบทๅ„€่กจๆฟ

ๆŒ‡ๆจ™ ็›ฎๆจ™ ็•ถๅ‰ ็‹€ๆ…‹
Bus Factor โ‰ฅ 2 1 ๐ŸŸก
ๆธฌ่ฉฆ่ฆ†่“‹็އ โ‰ฅ 60% 60% โœ…
ๆ–‡ๆช”่ฆ†่“‹็އ โ‰ฅ 80% ~80% โœ…
้–‹ๆ”พ Issues < 50 ~20 โœ…
PR ้Ÿฟๆ‡‰ๆ™‚้–“ < 7 ๅคฉ ~2 ๅคฉ โœ…
ไพ่ณด้ŽๆœŸๆ•ธ 0 0 โœ…
ๅฎ‰ๅ…จๆผๆดž 0 ้ซ˜/ไธญ 0 โœ…
CI ้€š้Ž็އ 100% ~99% โœ…

๐Ÿ†˜ ๆ‡‰ๆ€ฅ่จˆๅŠƒ

ๅฆ‚ๆžœไธป่ฆ็ถญ่ญท่€…็„กๆณ•็นผ็บŒ

  1. ็ŸญๆœŸ (1-3 ๅ€‹ๆœˆ):
  2. ็คพๅ€ๆˆๅ“กๆŽฅ็ฎก Issue ๅˆ†้กž
  3. Dependabot ่‡ชๅ‹•็ถญ่ญทไพ่ณด
  4. CI/CD ๆŒ็บŒ้‹่กŒ

  5. ไธญๆœŸ (3-6 ๅ€‹ๆœˆ):

  6. ๆ‹›ๅ‹Ÿๆ–ฐ็ถญ่ญท่€… (้€้Ž MAINTAINERS.md)
  7. ็คพๅ€ๆŠ•็ฅจๆฑบๅฎš้ …็›ฎๆ–นๅ‘

  8. ้•ทๆœŸ:

  9. ่€ƒๆ…ฎๆ่ดˆ็ตฆๅŸบ้‡‘ๆœƒ (ๅฆ‚ Python Software Foundation)
  10. ๆˆ– Archive ้ …็›ฎไธฆๆŽจ่–ฆๆ›ฟไปฃๆ–นๆกˆ

่ฏ็ตกๆ–นๅผ

็ทŠๆ€ฅๆƒ…ๆณ่ซ‹่ฏ็ตก: - GitHub Issues: ๅ…ฌ้–‹่จŽ่ซ– - Email: ่ฆ‹ SECURITY.md


ๆœ€ๅพŒๆ›ดๆ–ฐ: 2026-01-12 | ็‰ˆๆœฌ: 1.0.0