Skip to content

Latest commit

ย 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Super Gemini

๐ŸŒŸ Super Gemini Framework

ไธบ Google Gemini AI ๆ‰“้€ ็š„ๅ…ƒ็ผ–็จ‹้…็ฝฎๆก†ๆžถ
AI-Enhanced Development Framework for Google Gemini

Python Version License: MIT PyPI version Tests Coverage

ๅฟซ้€Ÿๅผ€ๅง‹ โ€ข ๆ ธๅฟƒ็‰นๆ€ง โ€ข ๆ ธๅฟƒ็ป„ไปถ โ€ข ไธญๆ–‡็‰นๆ€ง โ€ข ๆ–‡ๆกฃ โ€ข ๆž„ๅปบ้šพ้ข˜

Color Palette


๐Ÿ“– ้กน็›ฎ็ฎ€ไป‹

Super Gemini Framework ๆ˜ฏไธ€ไธชๅ…ƒ็ผ–็จ‹้…็ฝฎๆก†ๆžถ๏ผŒๅฐ† Google Gemini AI ่ฝฌๆขไธบ็ป“ๆž„ๅŒ–็š„ๅผ€ๅ‘ๅนณๅฐใ€‚้€š่ฟ‡่กŒไธบๆŒ‡ไปคๆณจๅ…ฅๅ’Œ็ป„ไปถ็ผ–ๆŽ’๏ผŒๆไพ›็ณป็ปŸๅŒ–็š„ๅทฅไฝœๆต่‡ชๅŠจๅŒ–๏ผŒ้…ๅค‡ๅผบๅคง็š„ๅทฅๅ…ทๅ’Œๆ™บ่ƒฝไปฃ็†ใ€‚

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Super Gemini Framework                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”            โ”‚
โ”‚  โ”‚ ๐Ÿค– ไปฃ็†  โ”‚  โ”‚ โšก ๅ‘ฝไปค  โ”‚  โ”‚ ๐ŸŽฏ ๆจกๅผ  โ”‚  โ”‚ ๐Ÿ”Œ MCP  โ”‚            โ”‚
โ”‚  โ”‚  16+    โ”‚  โ”‚  36+    โ”‚  โ”‚   7+    โ”‚  โ”‚   8+    โ”‚            โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ”‚
โ”‚                         โ†“                                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚              ๐ŸŽจ Gemini AI ๅขžๅผบๅผ€ๅ‘ๅนณๅฐ                    โ”‚   โ”‚
โ”‚  โ”‚    โ€ข ่กŒไธบๆŒ‡ไปคๆณจๅ…ฅ  โ€ข ็ป„ไปถ็ผ–ๆŽ’  โ€ข ๅทฅไฝœๆต่‡ชๅŠจๅŒ–              โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โœจ ๆ ธๅฟƒ็‰นๆ€ง

๐Ÿค– 16+ ไธ“ไธšๅŒ– AI ไปฃ็†

ๆถต็›–ๆžถๆž„ใ€ๅผ€ๅ‘ใ€ๆต‹่ฏ•ใ€ๆ–‡ๆกฃ็ญ‰้ข†ๅŸŸ็š„ไธ“ไธšไปฃ็†

โšก 36+ ๆ–œๆ ๅ‘ฝไปค

่ฆ†็›–ๅฎŒๆ•ดๅผ€ๅ‘็”Ÿๅ‘ฝๅ‘จๆœŸ็š„ๅทฅไฝœๆตๅ‘ฝไปค

๐ŸŽฏ 7+ ่กŒไธบๆจกๅผ

้€‚ๅบ”ไธๅŒๅทฅไฝœไธŠไธ‹ๆ–‡็š„ๆ™บ่ƒฝๅˆ‡ๆขๆจกๅผ

๐Ÿ”Œ 8+ MCP ๆœๅŠกๅ™จ้›†ๆˆ

ๆ‰ฉๅฑ•ๅŠŸ่ƒฝ๏ผŒๆๅ‡ๆ•ˆ็އ 30-50%

๐Ÿ‡จ๐Ÿ‡ณ ๅฎŒๆ•ดไธญๆ–‡ๆ”ฏๆŒ

ไธญๆ–‡ไผ˜ๅ…ˆ๏ผŒไธบไธญๅ›ฝๅผ€ๅ‘่€…ไผ˜ๅŒ–

๐ŸŽจ ไธชไบบๅ“็‰Œๅฎšๅˆถ

้›†ๆˆ AimerFeng ็š„ๅผ€ๅ‘้ฃŽๆ ผๅ’Œๅทฅไฝœๆต

๐Ÿ“ ๅšๅฎข้›†ๆˆ

ไธ€้”ฎๅฏผๅ‡บ้กน็›ฎๅ†…ๅฎนๅˆฐไธชไบบๅšๅฎข

๐Ÿงช ๅฑžๆ€งๆต‹่ฏ•้ฉฑๅŠจ

33 ไธชๅฑžๆ€งๆต‹่ฏ•็กฎไฟไปฃ็ ๆญฃ็กฎๆ€ง

๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

๐Ÿ“ฆ ๅฎ‰่ฃ…

ไฝฟ็”จ pipx๏ผˆๆŽจ่๏ผ‰
pipx install supergemini
ไฝฟ็”จ pip
pip install supergemini
ไปŽๆบ็ ๅฎ‰่ฃ…
git clone https://github.com/aimerfeng/gemini-.git
cd gemini-
pip install -e .

๐ŸŽฎ ๅŸบๆœฌไฝฟ็”จ

# 1๏ธโƒฃ ๅฎ‰่ฃ…ๅ‘ฝไปคๅˆฐ Gemini ็Žฏๅขƒ
supergemini install

# 2๏ธโƒฃ ๆŸฅ็œ‹ๅฏ็”จๅ‘ฝไปค
supergemini install --list

# 3๏ธโƒฃ ๅฎ‰่ฃ… MCP ๆœๅŠกๅ™จ
supergemini mcp --servers tavily context7 sequential-thinking

# 4๏ธโƒฃ ๅฅๅบทๆฃ€ๆŸฅ
supergemini doctor

# 5๏ธโƒฃ ๅœจ Gemini ไธญไฝฟ็”จ
/sg:research "ๆทฑๅบฆๅญฆไน ๆœ€ๆ–ฐ่ฟ›ๅฑ•"
/sg:implement "ๅฎž็Žฐไธ€ไธช REST API"
/sg:test "็ผ–ๅ†™ๅ•ๅ…ƒๆต‹่ฏ•"

๐Ÿ“š ๆ ธๅฟƒ็ป„ไปถ

๐Ÿค– ไธ“ไธšๅŒ–ไปฃ็†

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ไธ“ไธšๅŒ– AI ไปฃ็†ไฝ“็ณป                          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                 โ”‚
โ”‚  ๐Ÿ—๏ธ ๆžถๆž„็ฑป                    ๐Ÿ”ง ๅผ€ๅ‘็ฑป                         โ”‚
โ”‚  โ”œโ”€โ”€ backend-architect        โ”œโ”€โ”€ python-expert                โ”‚
โ”‚  โ”œโ”€โ”€ frontend-architect       โ””โ”€โ”€ refactoring-expert           โ”‚
โ”‚  โ”œโ”€โ”€ system-architect                                          โ”‚
โ”‚  โ””โ”€โ”€ devops-architect         ๐Ÿ“Š ๅˆ†ๆž็ฑป                         โ”‚
โ”‚                               โ”œโ”€โ”€ requirements-analyst          โ”‚
โ”‚  โœ… ่ดจ้‡็ฑป                    โ””โ”€โ”€ root-cause-analyst           โ”‚
โ”‚  โ”œโ”€โ”€ quality-engineer                                          โ”‚
โ”‚  โ”œโ”€โ”€ security-engineer        ๐Ÿ“ ๆ–‡ๆกฃ็ฑป                         โ”‚
โ”‚  โ””โ”€โ”€ performance-engineer     โ””โ”€โ”€ technical-writer             โ”‚
โ”‚                                                                 โ”‚
โ”‚  ๐Ÿ”ฌ ็ ”็ฉถ็ฑป                    ๐ŸŽ“ ๆ•™่‚ฒ็ฑป                         โ”‚
โ”‚  โ””โ”€โ”€ deep-research-agent      โ”œโ”€โ”€ learning-guide               โ”‚
โ”‚                               โ””โ”€โ”€ socratic-mentor              โ”‚
โ”‚  ๐Ÿ“‹ ็ฎก็†็ฑป                                                      โ”‚
โ”‚  โ””โ”€โ”€ pm-agent                                                   โ”‚
โ”‚                                                                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โšก ๆ–œๆ ๅ‘ฝไปค

็ฑปๅˆซ ๅ‘ฝไปค ๆ่ฟฐ
๐Ÿ“ ่ง„ๅˆ’ไธŽ่ฎพ่ฎก /sg:brainstorm ๅไฝœๅผๅคด่„‘้ฃŽๆšด
/sg:design ็ณป็ปŸ่ฎพ่ฎก
/sg:estimate ๅทฅไฝœ้‡ไผฐ็ฎ—
/sg:spec-panel ่ง„ๆ ผ่ฏดๆ˜Ž้ขๆฟ
๐Ÿ’ป ๅผ€ๅ‘ /sg:implement ๅŠŸ่ƒฝๅฎž็Žฐ
/sg:build ๆž„ๅปบ้กน็›ฎ
/sg:improve ไปฃ็ ๆ”น่ฟ›
/sg:cleanup ไปฃ็ ๆธ…็†
/sg:explain ไปฃ็ ่งฃ้‡Š
๐Ÿงช ๆต‹่ฏ•ไธŽ่ดจ้‡ /sg:test ๆต‹่ฏ•็”Ÿๆˆ
/sg:analyze ไปฃ็ ๅˆ†ๆž
/sg:troubleshoot ้—ฎ้ข˜ๆŽ’ๆŸฅ
/sg:reflect ๅๆ€ๆ€ป็ป“
๐Ÿ“– ๆ–‡ๆกฃ /sg:document ๆ–‡ๆกฃ็”Ÿๆˆ
/sg:help ๅธฎๅŠฉไฟกๆฏ
๐Ÿ”€ ็‰ˆๆœฌๆŽงๅˆถ /sg:git Git ๆ“ไฝœ
๐Ÿ“‹ ้กน็›ฎ็ฎก็† /sg:pm ้กน็›ฎ็ฎก็†
/sg:task ไปปๅŠก็ฎก็†
/sg:workflow ๅทฅไฝœๆต็ฎก็†
๐Ÿ” ็ ”็ฉถไธŽๅˆ†ๆž /sg:research ๆทฑๅบฆ็ ”็ฉถ
/sg:business-panel ๅ•†ไธšๅˆ†ๆž
๐Ÿ› ๏ธ ๅฎž็”จๅทฅๅ…ท /sg:agent ไปฃ็†็ฎก็†
/sg:load / /sg:save ไผš่ฏ็ฎก็†
/sg:sg ๆ˜พ็คบๆ‰€ๆœ‰ๅ‘ฝไปค

๐ŸŽฏ ่กŒไธบๆจกๅผ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       ่กŒไธบๆจกๅผ็ณป็ปŸ                            โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                              โ”‚
โ”‚  ๐Ÿ’ก MODE_Brainstorming      ๅไฝœๅผๅ‘็Žฐๅ’Œๅˆ›ๆ„็”Ÿๆˆ              โ”‚
โ”‚  ๐Ÿ“Š MODE_Business_Panel     ๅคšไธ“ๅฎถๆˆ˜็•ฅๅˆ†ๆž                    โ”‚
โ”‚  ๐Ÿ”ฌ MODE_DeepResearch       ่‡ชไธป็ฝ‘็ปœ็ ”็ฉถ๏ผˆๅคš่ทณๆŽจ็†๏ผ‰          โ”‚
โ”‚  ๐ŸŽฏ MODE_Orchestration      ้ซ˜ๆ•ˆๅทฅๅ…ทๅ่ฐƒ                      โ”‚
โ”‚  ๐Ÿ’ฐ MODE_Token_Efficiency   30-50% ไธŠไธ‹ๆ–‡่Š‚็œ                 โ”‚
โ”‚  ๐Ÿ“‹ MODE_Task_Management    ็ณป็ปŸๅŒ–ไปปๅŠก็ป„็ป‡                    โ”‚
โ”‚  ๐Ÿง  MODE_Introspection      ๅ…ƒ่ฎค็Ÿฅๅˆ†ๆž                        โ”‚
โ”‚                                                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ”Œ MCP ๆœๅŠกๅ™จ

ๆœๅŠกๅ™จ ๅŠŸ่ƒฝ ็”จ้€”
๐Ÿ” Tavily ็ฝ‘็ปœๆœ็ดข ๆทฑๅบฆ็ ”็ฉถ
๐Ÿ“š Context7 ๆ–‡ๆกฃๆŸฅ่ฏข ๅฎ˜ๆ–นๆ–‡ๆกฃ
๐Ÿง  Sequential-Thinking ๅคšๆญฅๆŽจ็† ๅคๆ‚้—ฎ้ข˜
๐Ÿ’พ Serena ไผš่ฏๆŒไน…ๅŒ– ๅ†…ๅญ˜็ฎก็†
๐ŸŽญ Playwright ๆต่งˆๅ™จ่‡ชๅŠจๅŒ– ่ทจๆต่งˆๅ™จๆต‹่ฏ•
โœจ Magic UI ็”Ÿๆˆ ็ป„ไปถๅˆ›ๅปบ
๐Ÿ”ง Morphllm ไปฃ็ ไฟฎๆ”น ไธŠไธ‹ๆ–‡ๆ„Ÿ็Ÿฅ
๐Ÿ”ฌ Chrome DevTools ๆ€ง่ƒฝๅˆ†ๆž ่ฐƒ่ฏ•ไผ˜ๅŒ–

๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡็‰นๆ€ง

Super Gemini Framework ไธบไธญๅ›ฝๅผ€ๅ‘่€…ๆไพ›ๅฎŒๆ•ด็š„ไธญๆ–‡ๆ”ฏๆŒ๏ผš

# โœ… ไธญๆ–‡ๅ‘ฝไปคๅˆซๅ
/็ ”็ฉถ "ไบบๅทฅๆ™บ่ƒฝๆœ€ๆ–ฐ่ฟ›ๅฑ•"
/ๅฎž็Žฐ "็”จๆˆท่ฎค่ฏ็ณป็ปŸ"
/ๆต‹่ฏ• "API ็ซฏ็‚น"
/ๆ–‡ๆกฃ "้กน็›ฎๆžถๆž„"

# โœ… ไธญๆ–‡ CLI ็•Œ้ข
supergemini --help  # ๆ˜พ็คบไธญ่‹ฑๅŒ่ฏญๅธฎๅŠฉ

# โœ… ไธญๆ–‡้”™่ฏฏๆถˆๆฏ
# ๆ‰€ๆœ‰้”™่ฏฏๅ’Œๆ—ฅๅฟ—้ƒฝๆ”ฏๆŒไธญๆ–‡ๆ˜พ็คบ

๐Ÿ”ง ๆž„ๅปบ้šพ้ข˜ไธŽ่งฃๅ†ณๆ–นๆกˆ

ๅœจๆž„ๅปบ Super Gemini Framework ่ฟ‡็จ‹ไธญ๏ผŒๆˆ‘ไปฌ้‡ๅˆฐๅนถ่งฃๅ†ณไบ†ไปฅไธ‹ๆŠ€ๆœฏ้šพ้ข˜๏ผš

้šพ้ข˜ 1: Hypothesis ๅฑžๆ€งๆต‹่ฏ•ไธŽ pytest fixtures ๅ†ฒ็ช

้—ฎ้ข˜ๆ่ฟฐ: ไฝฟ็”จ @given() ่ฃ…้ฅฐๅ™จ็š„ๅฑžๆ€งๆต‹่ฏ•ไธŽ pytest ็š„ tmp_path fixture ็ป“ๅˆๆ—ถ๏ผŒไผš่งฆๅ‘ FailedHealthCheck ้”™่ฏฏใ€‚

# โŒ ้”™่ฏฏ็คบไพ‹
@given(force=st.booleans())
def test_property(tmp_path, force):  # tmp_path ๆ˜ฏ function-scoped fixture
    mock_home = tmp_path / "home"
    mock_home.mkdir()  # ็ฌฌไบŒๆฌก่ฟ่กŒๆ—ถไผšๅคฑ่ดฅ๏ผ

่งฃๅ†ณๆ–นๆกˆ: ๆทปๅŠ  suppress_health_check ๅนถไฝฟ็”จ exist_ok=True๏ผš

# โœ… ๆญฃ็กฎ็คบไพ‹
from hypothesis import given, settings, HealthCheck

@settings(max_examples=100, suppress_health_check=[HealthCheck.function_scoped_fixture])
@given(force=st.booleans())
def test_property(tmp_path, force):
    mock_home = tmp_path / "home"
    mock_home.mkdir(exist_ok=True)  # ๅ…่ฎธ็›ฎๅฝ•ๅทฒๅญ˜ๅœจ
    
    # ๆธ…็†ไน‹ๅ‰็š„็Šถๆ€
    if (mock_home / ".gemini").exists():
        shutil.rmtree(mock_home / ".gemini")

้šพ้ข˜ 2: Hypothesis ๆต‹่ฏ•่ถ…ๆ—ถ้—ฎ้ข˜

้—ฎ้ข˜ๆ่ฟฐ: ๆŸไบ›ๅฑžๆ€งๆต‹่ฏ•ๅ› ไธบ I/O ๆ“ไฝœๅฏผ่‡ด่ถ…่ฟ‡้ป˜่ฎค 200ms ็š„ deadlineใ€‚

# โŒ ้”™่ฏฏ
hypothesis.errors.DeadlineExceeded: Test took 257.90ms, which exceeds the deadline of 200.00ms

่งฃๅ†ณๆ–นๆกˆ: ่ฎพ็ฝฎ deadline=None ็ฆ็”จ่ถ…ๆ—ถๆฃ€ๆŸฅ๏ผš

# โœ… ๆญฃ็กฎ็คบไพ‹
@settings(max_examples=100, deadline=None)
@given(session_id=st.text(min_size=1, max_size=50))
def test_property_memory_persistence(session_id):
    # ๆถ‰ๅŠๆ–‡ไปถ I/O ็š„ๆต‹่ฏ•
    pass

้šพ้ข˜ 3: pytest-cov ้…็ฝฎๅ†ฒ็ช

้—ฎ้ข˜ๆ่ฟฐ: pyproject.toml ไธญ็š„ pytest addopts ๅŒ…ๅซ coverage ้€‰้กน๏ผŒไฝ† pytest-cov ๆœชๅฎ‰่ฃ…ๆ—ถไผšๆŠฅ้”™ใ€‚

# โŒ ้—ฎ้ข˜้…็ฝฎ
[tool.pytest.ini_options]
addopts = [
    "--cov=supergemini",
    "--cov-report=term-missing",
]

่งฃๅ†ณๆ–นๆกˆ: ่ฟ่กŒๆต‹่ฏ•ๆ—ถไฝฟ็”จ --override-ini ่ฆ†็›–้…็ฝฎ๏ผš

# โœ… ๆญฃ็กฎๅ‘ฝไปค
python -m pytest tests/unit/ -v --tb=short --override-ini="addopts="

้šพ้ข˜ 4: Windows ่ทฏๅพ„ไธŽ monkeypatch ้—ฎ้ข˜

้—ฎ้ข˜ๆ่ฟฐ: ๅœจ Windows ไธŠไฝฟ็”จ monkeypatch.setattr(Path, "home", ...) ๆ—ถ๏ผŒ่ทฏๅพ„ๅค„็†ไธไธ€่‡ดใ€‚

# โŒ ้—ฎ้ข˜ไปฃ็ 
monkeypatch.setattr(Path, "home", lambda: mock_home)
# Windows ไธŠๅฏ่ƒฝ่ฟ”ๅ›ž WindowsPath ่€Œ้ž้ข„ๆœŸ็š„ PosixPath

่งฃๅ†ณๆ–นๆกˆ: ๅŒๆ—ถ่ฎพ็ฝฎ็Žฏๅขƒๅ˜้‡ๅ’Œ monkeypatch๏ผš

# โœ… ๆญฃ็กฎ็คบไพ‹
mock_home = tmp_path / "home"
mock_home.mkdir(exist_ok=True)

# ๅŒๆ—ถ่ฎพ็ฝฎไธค็งๆ–นๅผ็กฎไฟๅ…ผๅฎนๆ€ง
monkeypatch.setenv("HOME", str(mock_home))
monkeypatch.setattr(Path, "home", lambda: mock_home)

้šพ้ข˜ 5: Rich ๅบ“ไพ่ต–็ผบๅคฑ

้—ฎ้ข˜ๆ่ฟฐ: ๆต‹่ฏ•ๆ—ถ rich ๆจกๅ—ๆœชๅฎ‰่ฃ…ๅฏผ่‡ดๅฏผๅ…ฅๅคฑ่ดฅใ€‚

# โŒ ้”™่ฏฏ
ModuleNotFoundError: No module named 'rich'

่งฃๅ†ณๆ–นๆกˆ: ไฝฟ็”จ conda ๅฎ‰่ฃ…๏ผˆ็ป•่ฟ‡ pip SSL ้—ฎ้ข˜๏ผ‰๏ผš

# โœ… ๆญฃ็กฎๅ‘ฝไปค
conda install -c conda-forge rich -y

้šพ้ข˜ 6: ๅฑžๆ€งๆต‹่ฏ•ไธญ็š„็Šถๆ€้š”็ฆป

้—ฎ้ข˜ๆ่ฟฐ: Hypothesis ไผšๅคšๆฌก่ฟ่กŒๅŒไธ€ๆต‹่ฏ•๏ผŒไฝ† tmp_path fixture ไธไผš้‡็ฝฎใ€‚

่งฃๅ†ณๆ–นๆกˆ: ๅœจๆฏๆฌกๆต‹่ฏ•ๅผ€ๅง‹ๆ—ถๆธ…็†็Šถๆ€๏ผš

# โœ… ๆญฃ็กฎ็คบไพ‹
@settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
@given(force=st.booleans())
def test_property(tmp_path, force):
    target_dir = tmp_path / "commands"
    
    # ๆธ…็†ไน‹ๅ‰็š„็Šถๆ€
    if target_dir.exists():
        shutil.rmtree(target_dir)
    
    # ็Žฐๅœจๅฏไปฅๅฎ‰ๅ…จๅœฐ่ฟ่กŒๆต‹่ฏ•
    success, message = install_commands(target_dir, force=force)

๐Ÿ“Š ้กน็›ฎ็ปŸ่ฎก

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ้กน็›ฎ็ปŸ่ฎกๆ•ฐๆฎ                            โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                              โ”‚
โ”‚  ๐Ÿ“ ไปฃ็ ่กŒๆ•ฐ          10,000+ LOC                            โ”‚
โ”‚  ๐Ÿงช ๆต‹่ฏ•่ฆ†็›–็އ        >70%                                   โ”‚
โ”‚  โœ… ๅฑžๆ€งๆต‹่ฏ•          33 ไธชๅ…จ้ƒจ้€š่ฟ‡                          โ”‚
โ”‚  ๐Ÿ Python ็‰ˆๆœฌ       3.10, 3.11, 3.12                       โ”‚
โ”‚  ๐Ÿ“ฆ ไพ่ต–้กน            ๆœ€ๅฐๅŒ–๏ผŒไป…ๆ ธๅฟƒๅบ“                        โ”‚
โ”‚  ๐Ÿ“– ๆ–‡ๆกฃ้กต้ข          50+ ้กต                                 โ”‚
โ”‚  ๐Ÿค– AI ไปฃ็†           16+                                    โ”‚
โ”‚  โšก ๆ–œๆ ๅ‘ฝไปค          36+                                    โ”‚
โ”‚  ๐ŸŽฏ ่กŒไธบๆจกๅผ          7+                                     โ”‚
โ”‚  ๐Ÿ”Œ MCP ๆœๅŠกๅ™จ        8+                                     โ”‚
โ”‚                                                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿงช ๆต‹่ฏ•

# ่ฟ่กŒๆ‰€ๆœ‰ๆต‹่ฏ•
pytest tests/unit/ -v --override-ini="addopts="

# ่ฟ่กŒ็‰นๅฎšๆต‹่ฏ•ๆ–‡ไปถ
pytest tests/unit/test_session_property.py -v

# ๆŸฅ็œ‹่ฏฆ็ป†่พ“ๅ‡บ
pytest tests/unit/ -v --tb=long

๐Ÿค ่ดก็Œฎ

ๆฌข่ฟŽ่ดก็Œฎ๏ผ่ฏทๆŸฅ็œ‹ ่ดก็ŒฎๆŒ‡ๅ— ไบ†่งฃ่ฏฆๆƒ…ใ€‚

# ๅผ€ๅ‘่ฎพ็ฝฎ
git clone https://github.com/aimerfeng/gemini-.git
cd gemini-
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -e ".[dev]"
pytest

๐Ÿ“„ ่ฎธๅฏ่ฏ

ๆœฌ้กน็›ฎ้‡‡็”จ MIT ่ฎธๅฏ่ฏ - ่ฏฆ่ง LICENSE ๆ–‡ไปถใ€‚

๐Ÿ‘ค ไฝœ่€…

AimerFeng
GitHub โ€ข Blog

๐Ÿ™ ่‡ด่ฐข

ๆœฌ้กน็›ฎๅ— SuperClaude Framework ๅฏๅ‘๏ผŒๆ„Ÿ่ฐขๅŽŸไฝœ่€…็š„ๅผ€ๆบ่ดก็Œฎใ€‚


ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนไฝ ๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท็ป™ไธช โญ๏ธ Star๏ผ
Made with โค๏ธ by AimerFeng

About

Gemini prompt word optimization

Resources

Contributing

Stars

16 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages