uz
Feedback
ToCode

ToCode

Kanalga Telegramโ€™da oโ€˜tish

ื˜ื™ืคื™ื ืงืฆืจื™ื ืœืžืชื›ื ืชื™ื ืžืืช ื™ื ื•ืŸ ืคืจืง

Ko'proq ko'rsatish
1 419
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kunlar
-530 kunlar
Postlar arxiv
ToCode
1 419
ื”ืฉืืœื” ื”ื™ื ืœื ื›ืžื” ืื—ื•ื– ืžื”ืงื•ื“ ื” AI ื›ื•ืชื‘ ื›ืฉืจื•ืฆื™ื ืœื”ื˜ืžื™ืข AI ื‘ืืจื’ื•ืŸ ืคื™ืชื•ื— ืžื ื”ืœื™ื ื”ื™ื• ืžื ืกื™ื ืœืžื“ื•ื“ ื›ืžื” ืื—ื•ื– ืžื”ืงื•ื“ ื ื›ืชื‘ ืขืœ ื™ื“ื™ AI. ืื‘ืœ ื–ืืช ืžื˜ืจื™ืงื” ื’ืจื•ืขื”. ืื AI ื›ื•ืชื‘ 100% ืžื”ืงื•ื“ ื•ื”ืชื•ืฆืื” ื”ื™ื ื‘ืขื™ื•ืช ืื‘ื˜ื—ื”, ื‘ื™ืฆื•ืขื™ื ื’ืจื•ืขื™ื, ืคื™ืฆ'ืจื™ื ืฉืื™ ืืคืฉืจ ืœืžืžืฉ ื•ื‘ืื’ื™ื ืฉืœื ืžืฉืชื—ื–ืจื™ื ืื• ืื– ืœื ืขืฉื™ื ื• ื›ืœื•ื. ื’ื ืื AI ื›ื•ืชื‘ 100% ืžื”ืงื•ื“ ื•ืงื™ื‘ืœื ื• ืžืขืจื›ืช ืฉืืฃ ื‘ืŸ ืื ื•ืฉ ืœื ื™ืฆืœื™ื— ืœืชื—ื–ืง ืื—ืจื™ ืœื ืขืฉื™ื ื• ื›ืœื•ื. ื”ื ื” ื›ืžื” ืžื˜ืจื™ืงื•ืช ื˜ื•ื‘ื•ืช ื™ื•ืชืจ ืœืฉื™ืœื•ื‘ AI ื‘ืžื”ืœืš ื”ืคื™ืชื•ื—: 1. ื›ืžื” ืื—ื•ื– ืžื”ืงื•ื“ ื ื›ื ืก ืœืžืขืจื›ืช ื‘ืœื™ ืฉืืฃ ืื—ื“ ืงืจื ืื•ืชื•? 2. ื›ืžื” ืื—ื•ื– ืžื”ืงื•ื“ ืฉ AI ื›ื•ืชื‘ ื”ืจื’ืฉื ื• ื‘ื ื•ื— ืœื–ืจื•ืง ืœืคื—? 3. ืžื” ืื ื—ื ื• ืขื•ืฉื™ื ื”ื™ื•ื ื˜ื•ื‘ ื™ื•ืชืจ ืื• ืื—ืจืช ืžืžื” ืฉืขืฉื™ื ื• ื‘ืขื‘ืจ ื‘ื–ื›ื•ืช ื” AI? 4. ื›ืžื” ื’ืจืกืื•ืช ืฉื•ื ื•ืช ืื ื™ ื‘ื•ื“ืง ืœื›ืœ ืคื™ืฆ'ืจ ืœืคื ื™ ืฉืื ื™ ืžืชืงื“ื? 5. ื›ืžื” ืชื”ืœื™ื›ื™ ืขื‘ื•ื“ื” ืžื‘ื•ืกืกื™ AI ื—ื“ืฉื™ื ื‘ื ื™ื ื• ื‘ืืจื’ื•ืŸ? ื“ื•ื’ืžื”? ื‘ื˜ื—. ืœืงื•ื— ืื• ืคืจื•ื“ืงื˜ ืžื‘ืงืฉ ืœืงื‘ืœ ื“ื•ื— ื—ื“ืฉ ืžืžืขืจื›ืช CRM. ืžืคืชื—ื™ื ืฉืขื•ื‘ื“ื™ื ืขื AI ื‘ืฆื•ืจื” ื—ื›ืžื” ืขื•ื“ ื‘ืื•ืชื• ื™ื•ื ื™ื›ื•ืœื™ื ืœื”ื•ืฆื™ื 3 ื’ืจืกืื•ืช ืฉืœ ื”ื“ื•ื— ื”ื–ื” ื›ื“ื™ ืฉื”ืœืงื•ื— ื™ื‘ื—ืจ. ื‘ื–ืžืŸ ืฉื”ืœืงื•ื— ืžืชืœื‘ื˜ ื”ื ืงื•ืจืื™ื ืืช ืฉืœื•ืฉืช ื”ื’ืจืกืื•ืช ืฉื” AI ื›ืชื‘ ื›ื“ื™ ืœื”ื‘ื™ืŸ ืžื” ืžืงืจื™ ื”ืงืฆื”, ืžื” ื”ืืชื’ืจื™ื, ืžื” ื”ื—ืœืงื™ื ืฉืฆืจื™ื›ื™ื ืœื”ืชื—ื‘ืจ. ื›ืฉื”ืœืงื•ื— ื‘ื•ื—ืจ ืืช ื”ืขื™ืฆื•ื‘ ื”ืžืคืชื—ื™ื ื™ื•ืฆืจื™ื ืคืจื•ืžืคื˜ ื—ื“ืฉ ืฉืžืฉืœื‘ ืืช ืžื” ืฉื”ื ืœืžื“ื• ืžืฉืœื•ืฉืช ื”ื’ืจืกืื•ืช ื•ืžื•ืกื™ืฃ ื‘ื“ื™ืงื•ืช ืื•ื˜ื•ืžื˜ื™ื•ืช. ื›ืฉื” AI ื›ื•ืชื‘ ืืช ื”ืงื•ื“ ื”ื—ื“ืฉ ืื ื—ื ื• ื›ื‘ืจ ื™ื•ื“ืขื™ื ืœืžื” ืœืฆืคื•ืช, ื™ื›ื•ืœื™ื ืœืงืจื•ื ื›ืœ ืฉื•ืจื” ื•ืœื”ื‘ื™ืŸ ืฉืื ื—ื ื• ืœื ืžื›ื ื™ืกื™ื ืฉื˜ื•ื™ื•ืช ืœืžืขืจื›ืช. ืื ื” AI ื›ืชื‘ 100% ืื• 80% ืžื”ืงื•ื“ ื–ื” ืœื ื”ื“ื‘ืจ ื”ื—ืฉื•ื‘, ืžื” ืฉื—ืฉื•ื‘ ื–ื” ืื™ืš ืื ื—ื ื• ืขื•ื‘ื“ื™ื ื”ื™ื•ื ื•ืื™ืš ืชื”ืœื™ืš ื”ืขื‘ื•ื“ื” ื”ืฉืชืคืจ ื‘ื–ื›ื•ืช ืฉื™ืžื•ืฉ ื‘ื›ืœื™ AI.

ToCode
1 419
ื”ื’ื“ืจืช ืชืœื•ื™ื•ืช ื‘ docker-compose ืขืœื•ืœื” ืœื”ืกืชื™ืจ ื‘ืื’ ื‘ืžืขืจื›ืช ื ืชื‘ื•ื ืŸ ื‘ื“ื•ืงืจ ืงื•ืžืคื•ื– ื”ื‘ื:
services:
  db:
    image: postgres:15
    container_name: my_postgres

  api:
    build: ./api
    container_name: my_api
    depends_on:
      - db
ืงืœืืกื™ ื ื›ื•ืŸ? ืฉืจืช API ืฉืชืœื•ื™ ื‘ื‘ืกื™ืก ื ืชื•ื ื™ื ื•ื”ื’ื“ืจืช depends_on ื‘ื“ื•ืงืจ ืงื•ืžืคื•ื– ื›ื“ื™ ืœื•ื•ื“ื ืฉื‘ืกื™ืก ื”ื ืชื•ื ื™ื ืขื•ืœื” ืงื•ื“ื. ืื‘ืœ ื‘ืขืฆื... ืœืžื™ ืื›ืคืช ืžื” ืขื•ืœื” ืงื•ื“ื? ืื ืฉืจืช ื” API ืžื ืกื” ืœืขืฉื•ืช ืžืฉื”ื• ืขื ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ื•ืœื ืžืฆืœื™ื— ื”ื•ื ืฆืจื™ืš ืœื”ืฆื™ื’ ืฉื’ื™ืื”. ื›ืฉื‘ืกื™ืก ื”ื ืชื•ื ื™ื ื™ืขืœื” ื” API ื™ื—ื–ื•ืจ ืœืขื‘ื•ื“. ืžื” ืขื•ื–ืจ ื” depends_on ื›ืืŸ? ื”ืชืฉื•ื‘ื” ืฉื”ื’ื“ืจืช ืชืœื•ื™ื•ืช ื‘ื™ืŸ services ื‘ืื•ืคืŸ ื›ืœืœื™ ื”ื™ื ืœื ืจืขื™ื•ืŸ ื˜ื•ื‘. ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช ืžื™ืงืจื• ืกืจื‘ื™ืกืก ืขืœื™ื ื• ืœื“ืื•ื’ ืฉื›ืœ ืกืจื‘ื™ืก ื™ื“ืข ืœืขื‘ื•ื“ ื’ื ืื ื”ืกืจื‘ื™ืกื™ื ื”ืื—ืจื™ื ืœื ื–ืžื™ื ื™ื ื•ืœื”ืชื—ื‘ืจ ืืœื™ื”ื ืžื—ื“ืฉ ื›ืฉื”ื ื™ืขืœื• ืฉื•ื‘. ื”ื’ื“ืจืช ืกื“ืจ ืื• ืชืœื•ื™ื•ืช ื‘ docker-compose, ืœืžืจื•ืช ืฉื‘ื“ืจืš ื›ืœืœ ืœื ืžื•ืขื™ืœื” ื•ืœื ืžื–ื™ืงื”, ืขืœื•ืœื” ืœื”ืกืชื™ืจ ื‘ืื’ ื‘ื˜ื™ืคื•ืœ ื‘ื ืคื™ืœื•ืช ื‘ื™ืŸ ื”ืกืจื‘ื™ืกื™ื, ืžื”ื‘ืื’ื™ื ืฉืงืฉื” ืœื–ื”ื•ืช ืขื“ ืฉื”ื ืงื•ืจื™ื ื‘ืžืขืจื›ืช ืืžื™ืชื™ืช. ื”ื›ื™ ืงืœ ื‘ืขื‘ื•ื“ื” ืขื ื“ื•ืงืจ ื•ืกืจื‘ื™ืกื™ื ืœื ืœื”ื ื™ื— ืฉื•ื ื“ื‘ืจ ืœื’ื‘ื™ ื”ืกืจื‘ื™ืกื™ื ื”ืื—ืจื™ื ื•ืชืžื™ื“ ืœื‘ื“ื•ืง ืฉื›ืœ ื”ืžืขืจื›ื•ืช ืžืฆืœื™ื—ื•ืช ืœืขืœื•ืช ืœื ืžืฉื ื” ื‘ืื™ื–ื” ืกื“ืจ.

ToCode
1 419
ืžืขื‘ืจ ืœื–ื” ืœืงืœื•ื“ ืงื•ื“ ื™ืฉ ืขื•ื“ ื”ืžื•ืŸ ืคื™ืฆ'ืจื™ื ืฉืœื ื ื™ืกื™ืชื™ ืื• ืœื ื”ื™ื• ืฉื™ืžื•ืฉื™ื™ื ืขื‘ื•ืจื™ ื›ืžื• ืœืขืฉื•ืช fork ืœืฉื™ื—ื” ื‘ื ืงื•ื“ื” ืžืกื•ื™ืžืช, ืœืงื‘ืœ ื ื•ื˜ื™ืคื™ืงืฆื™ื•ืช ื›ืฉื›ืœื™ื ืžืกื•ื™ืžื™ื ืจืฆื™ื ื•ืืคื™ืœื• ืœื”ื•ืจื™ื“ ืกื˜ื™ืงืจื™ื. ื”ืคื™ืฆ'ืจ ื”ื›ื™ ื—ืฉื•ื‘ ืฉืœ ืงืœื•ื“ ืงื•ื“ ืฉืœื ืงื™ื™ื ื‘ืฉื ื™ ื”ื›ืœื™ื ื”ืื—ืจื™ื ื”ื•ื ืคืงื•ื“ืช rewind ืฉืžืืคืฉืจืช ืœื”ื—ื–ื™ืจ ืืช ื”ืคืจื•ื™ืงื˜ ืœื ืงื•ื“ื” ืงื•ื“ืžืช ื‘ืฉื™ื—ื”. ืื ื™ ื‘ื˜ื•ื— ืฉืงืจืกืจ ื•ืงื•ืคื™ื™ืœื•ื˜ ื‘ืขืชื™ื“ ื™ื•ืกื™ืคื• ืืช ื–ื” ื•ื‘ื™ื ืชื™ื™ื ื‘ื›ืœ ืžืงืจื” ืื ื™ ืžืขื“ื™ืฃ ืœืขื‘ื•ื“ ืขื ื’ื™ื˜ ื›ื“ื™ ืœืฉืžื•ืจ ื ืงื•ื“ื•ืช ืžืคืชื— ื•ืœื—ื–ื•ืจ ืืœื™ื”ืŸ. ืžืกืงื ื•ืช ืื™ื›ื•ืช ื”ืงื•ื“ ื ืงื‘ืขืช ื‘ืขื™ืงืจ ืœืคื™ ื”ืžื•ื“ืœ. ืื•ืคื•ืก ืžืขื•ืœื” ื•ืžืฆืœื™ื— ืœืชืงืŸ ื“ื‘ืจื™ื ื‘ืฆื•ืจื” ื”ื›ื™ ื ื›ื•ื ื” ื•ืœืžืฆื•ื ื‘ืขื™ื•ืช ื”ื›ื™ ืžื”ืจ ืื‘ืœ ื”ื•ื ื’ื ื”ื›ื™ ื™ืงืจ, ืกื•ื ื˜ ื”ื•ื ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉืœื™ ืจื•ื‘ ื”ื–ืžืŸ ื‘ืขื‘ื•ื“ื” ืืœื ืื ื›ืŸ ื”ืคืขืœืชื™ ืืช ืงืจืกืจ ื•ืื– ืื ื™ ื‘ืžืฆื‘ Auto ืฉืœื”ื. ื”ื ื™ืกื•ื™ ืขืœื” ืœื™ ืกืš ื”ื›ืœ 50$, ืžื—ื•ืœืง 20 ืœืงืœื•ื“, 20 ืœืงืจืกืจ ื• 10 ืœืงื•ืคื™ื™ืœื•ื˜. ืื ื™ ืžืจื•ืฆื” ืžื”ืขื‘ื•ื“ื” ืขื ืฉืœื•ืฉืชื ื•ืžืžืœื™ืฅ ื’ื ืœื›ื ืœื ืกื•ืช ื›ื“ื™ ืœืจืื•ืช ืื™ื–ื” ื›ืœื™ ืืชื ื”ื›ื™ ืื•ื”ื‘ื™ื ื•ืžืฆืœื™ื—ื™ื ืœื”ื’ื™ืข ืœืชื•ืฆืื•ืช ื˜ื•ื‘ื•ืช ืขื ื”ืžื•ื“ืœื™ื ืฉืžืชืื™ืžื™ื ืœื›ื. ื›ืœื•ืžืจ ืื ืืชื ืจื•ืื™ื ืฉืืชื ื›ืœ ื”ื™ื•ื ืขื•ื‘ื“ื™ื ืขื ืื•ืคื•ืก ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉืชื•ื›ื ื™ืช ื” 100$ ืœื—ื•ื“ืฉ ืฉืœ ืงืœื•ื“ ืชืชืื™ื ืœื›ื. ืžื‘ื—ื™ื ืช ืชืžื•ืจื” ืœืžื—ื™ืจ ืงื•ืคื™ื™ืœื•ื˜ ืœื“ืขืชื™ ื”ื›ื™ ืžืฉืชืœื ื•ืœืงืจืกืจ ื™ืฉ ืงืกื ืžืฉืœื• ืœืžืจื•ืช ืฉืฆืจื™ืš ืœืฉื™ื ืœื‘ ืœืžื•ื“ืœ ื•ืœืคืขืžื™ื ืœืฉื ื•ืช ืžื”ืžื•ื“ืœ ื”ืื•ื˜ื•ืžื˜ื™ ืœืกื•ื ื˜ ืื• ืื•ืคื•ืก. ื”ื”ื’ื‘ืœื” ืžื‘ื•ืกืกืช ื”ืฉืขื•ืช ืฉืœ ืงืœื•ื“ ืงื•ื“ ืขืœ ืื•ืคื•ืก ื ืจืืชื” ืœื™ ืžืขื™ื™ืคืช ื‘ื”ืชื—ืœื” ืื‘ืœ ืื ื™ ืžื•ื“ื” ืฉืื—ืจื™ ืชืงื•ืคืช ื”ืชืจื’ืœื•ืช ืœืžื“ืชื™ ืœืื”ื•ื‘ ืื•ืชื”. ืื ื™ ื ื•ืชืŸ ืœืื•ืคื•ืก ืฉืœ ืงืœื•ื“ ืงื•ื“ ืœืจื•ืฅ ืขืœ ืคืจื•ืžืคื˜, ืื ื”ืกืคื™ืง ื‘ืžืกื’ืจืช ื”ืžื’ื‘ืœื” ื”ืจื•ื•ื—ืชื™ ื•ืื ืœื ืื– ืื ื™ ืžืขื‘ื™ืจ ืืช ื”ืžืฉื™ืžื” ืœืงืจืกืจ ืื• ื›ื•ืชื‘ ืขืฆืžืื™ืช ืืช ื”ื”ืชื—ืœื” ื‘ vim ื•ืื– ื ื•ืชืŸ ืœืงืจืกืจ ืœืกื™ื™ื.

ToCode
1 419
ื”ืฉื•ื•ืื” ื‘ื™ืŸ Claude Code, Copilot CLI ื• Cursor CLI ืกื•ื›ื ื™ ื”ืงื™ื“ื•ื“ ืžืฉื•ืจืช ื”ืคืงื•ื“ื” ื”ืฉืชืคืจื• ืžืื•ื“ ืžืžืฉ ื‘ื—ื•ื“ืฉื™ื ื”ืื—ืจื•ื ื™ื. ื–ื” ื”ืชื—ื™ืœ ืขื ืงืœื•ื“ ืงื•ื“ ื•ื”ื”ืชืœื”ื‘ื•ืช ื”ื’ื“ื•ืœื” ืžืžื ื•, ืžืฉืš ืืช ืชืฉื•ืžืช ื”ืœื‘ ืฉืœ ืžื™ื™ืงืจื•ืกื•ืคื˜ ื•ื”ื‘ื™ื ืœืคื™ืชื•ื— Cursor CLI ื•ืื—ืจื•ื ื™ื ื”ื’ื™ืขื• Cursor ืขื ื›ืœื™ CLI ืžืฉืœื”ื. ื›ืœ ื”ืฉืœื•ืฉื” ืžืขื•ืœื™ื ื•ื‘ื–ื›ื•ืชื ื”ืฆืœื—ืชื™ ื‘ืชืงื•ืคื” ื”ืื—ืจื•ื ื” ืœื—ื–ื•ืจ ืœืงื•ื“ื“ ืขื vim. ื‘ื›ืœ ื–ืืช ืื ื™ ืจื•ืฆื” ืœืฉืชืฃ ืืช ื”ืžืกืงื ื•ืช ื”ืžืจื›ื–ื™ื•ืช ืฉืœื™ ืžื”ืขื‘ื•ื“ื” ืขื ืฉืœื•ืฉืชื, ืœื ื‘ืฉื‘ื™ืœ ืœื”ื’ื™ื“ ืชืฉืชืžืฉื• ื‘ื›ืœื™ X ืื• Y ืืœื ื™ื•ืชืจ ืœืขืฉื•ืช ืกื“ืจ, ืœืจืื•ืช ื—ื•ื–ืงื•ืช ื•ื—ื•ืœืฉื•ืช ื•ืœืชืช ืœื›ื ืืช ื”ื›ืœื™ื ืื™ืš ืœื‘ื—ื•ืจ. ืื™ืš ืื ื™ ืขื•ื‘ื“ ืื ื™ ืขื•ื‘ื“ ืขืœ ืžืกืคืจ ืคืจื•ื™ืงื˜ื™ื ื‘ื• ื–ืžื ื™ืช ื•ืžืคืฆืœ ืืช ื”ื˜ืจืžื™ื ืœ ืขื tmux, ื›ืœ ืคืจื•ื™ืงื˜ ืžืงื‘ืœ session. ื‘ื›ืœ session ืฉืœ tmux ื™ืฉ ืœื™ ื›ืžื” ื˜ืื‘ื™ื ืคืชื•ื—ื™ื ื•ืชืžื™ื“ ืื—ื“ ืžื”ื ื™ื”ื™ื” neovim, ืขื•ื“ ืื—ื“ shell ื•ื”ืฉืืจ ืœืคื™ ืฆืจื›ื™ ื”ืคืจื•ื™ืงื˜. ืกื•ื›ื ื™ ื”ืงื™ื“ื•ื“ ืžืฉื•ืจืช ื”ืคืงื•ื“ื” ืจืฆื™ื ืืฆืœื™ ื‘ืฉืชื™ ื“ืจื›ื™ื, ืื• ื‘ืชื•ืš neovim ื‘ืชื•ืš ื”ืžืกื•ืฃ ื”ืžื•ื‘ื ื” ืฉืœื• ืื• ื‘ื˜ืื‘ ื ืคืจื“. ืขื‘ื•ืจ ืกื•ื›ืŸ ืงื™ื“ื•ื“ ืฉืจืฅ ืžืชื•ืš neovim ื™ืฆืจืชื™ ืคื•ื ืงืฆื™ื” ืฉืžืืคืฉืจืช ืœืกืžืŸ ืงื˜ืข ืงื•ื“ ื‘ vim ื•ื‘ืœื—ื™ืฆืช ื›ืคืชื•ืจ ืœื”ืขืชื™ืง ืืช ืฉื ื”ืงื•ื‘ืฅ ื•ืžืกืคืจื™ ื”ืฉื•ืจื•ืช ื”ืžืกื•ืžื ื•ืช ืœืคืจื•ืžืคื˜ ื‘ืคื•ืจืžื˜:
app/controllers/demo_controller.rb:69-70 
ื‘ืฉื‘ื™ืœ ื”ื—ื™ื‘ื•ืจ ืœื“ืคื“ืคืŸ ื”ืชืงื ืชื™ ืืช ื” MCP ืฉืœ ื›ืจื•ื ื•ื›ื›ื” ืืคืฉืจ ืœื‘ืงืฉ ืžืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ ืœื”ืกืชื›ืœ ืขืœ ื”ืžืกืš ืื• ืขืœ ืืœืžื ื˜ื™ื ืžืกื•ื™ื™ืžื™ื ืฉื ื‘ืชื•ืจ ืงื•ื ื˜ืงืกื˜. ืงื•ื“ืงืก ืœื ืžื•ืคื™ืข ื‘ื”ืฉื•ื•ืื” ื”ื–ื• ื›ื™ ืœื ื ื™ืกื™ืชื™ ืื•ืชื•. ื›ืžื” ื–ื” ืขื•ืœื” ื”ื“ืจืš ื”ืžืงื•ื‘ืœืช ืœืขื‘ื•ื“ ืขื ื›ืœื™ AI ื”ื™ื ืžื ื•ื™ ื—ื•ื“ืฉื™ ื•ืœื›ืœ ืื—ื“ ืžื”ื›ืœื™ื ื™ืฉ ืืช ื”ืžื ื•ื™ ืฉืœื•: 1. ืงืจืกืจ ืžืฆื™ืขื™ื ืžื ื•ื™ ื‘ืกื™ืกื™ ื‘ 20$ ืœื—ื•ื“ืฉ ื•ืžื ื•ื™ื™ื ืขื ื™ื•ืชืจ ืฉื™ื—ื•ืช ื‘ื™ื•ืชืจ. 2. ืงื•ืคื™ื™ืœื•ื˜ ืžืฆื™ืขื™ื ืžื ื•ื™ ื‘ืกื™ืกื™ ื‘ 10$ ืœื—ื•ื“ืฉ ื•ืžื ื•ื™ ืขื ื™ื•ืชืจ ืฉื™ื—ื•ืช ื‘ 40$. 3. ืงืœื•ื“ ืงื•ื“ ืžืฆื™ืขื™ื ืืช ื”ืžื ื•ื™ ื”ื‘ืกื™ืกื™ ื‘ 20$ ืœื—ื•ื“ืฉ ื•ืžื ื•ื™ ืžืชืงื“ื ื‘ 100$. ืžื‘ื—ื™ื ืช ืžื•ื“ืœื™ื ื‘ื›ืœื™ ืฉื•ืจืช ื”ืคืงื•ื“ื” ืงื•ืคื™ื™ืœื•ื˜ ืžืืคืฉืจื™ื ืœื‘ื—ื•ืจ ืžืจืฉื™ืžืช ื”ืžื•ื“ืœื™ื ื”ืจื’ื™ืœื” ืฉืœื”ื ืื‘ืœ ืื™ืŸ ืื•ืคืฆื™ื” ืฉืœ Auto. ืื ื™ ืขื‘ื“ืชื™ ืœืจื•ื‘ ืขื ืกื•ื ื˜ ื•ืžื“ื™ ืคืขื ืขื‘ืจืชื™ ืœืื•ืคื•ืก ื›ืฉืกื•ื ื˜ ื”ืกืชื‘ืš. ืืฆืœ ืงืจืกืจ ืจืฉื™ืžืช ื”ืžื•ื“ืœื™ื ื™ื•ืชืจ ื’ื“ื•ืœื” ื•ื™ืฉ ืื•ืคืฆื™ื” ืœื‘ื—ื™ืจืช ืžื•ื“ืœ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื›ื“ื™ ืœื—ืกื•ืš ื‘ืขืœื•ื™ื•ืช ื•ื‘ืงืœื•ื“ ืงื•ื“ ืžื•ื“ืœ ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื”ื•ื ืื•ืคื•ืก ื•ืืคืฉืจ ืœืฉื ืžืš ืœืกื•ื ื˜ ืื• ื”ืื™ืงื• ื‘ืฉื‘ื™ืœ ืœื—ืกื•ืš ืขืœื•ื™ื•ืช. ืงืœื•ื“ ืงื•ื“ ื”ื•ื ื”ื™ื—ื™ื“ ืฉื›ื•ืœืœ ืžื’ื‘ืœื” ืขืœ ื–ืžืŸ ืขื‘ื•ื“ื” ืจืฆื™ืฃ ื•ืœื›ืŸ ืจื•ื‘ ื”ื–ืžืŸ ืื—ืจื™ ืฉืขื” ืฉืœ ืขื‘ื•ื“ื” ื”ื•ื ื‘ื™ืงืฉ ืžืžื ื™ ืขื•ื“ ื›ืกืฃ ืื• ืœื—ื›ื•ืช ื›ืžื” ืฉืขื•ืช ืขื“ ืฉื”ืžื’ื‘ืœื” ืชืชืืคืก. ื’ื ืงืจืกืจ ื•ื’ื ืงื•ืคื™ื™ืœื•ื˜ ืขื•ื‘ื“ื™ื ืขื ืžื’ื‘ืœื” ื—ื•ื“ืฉื™ืช. ืขื›ืฉื™ื• ืื™ืŸ ืกืคืง ืฉืื•ืคื•ืก ื”ื•ื ืžื•ื“ืœ ืžืขื•ืœื” ื•ืื ื™ ื—ื•ืฉื‘ ืฉื”ืจื‘ื” ืžื”ื”ืชืœื”ื‘ื•ืช ืฉืœ ืื ืฉื™ื ื‘ืจืฉืช ืžืงืœื•ื“ ืงื•ื“ ื”ื™ื ื‘ืขืฆื ื”ืชืœื”ื‘ื•ืช ืžื”ืžื•ื“ืœ ืื•ืคื•ืก. ื›ื‘ืจ ืœื™ ืœื ืžืขื˜ ืฉื ืชืชื™ ืœืกื•ื ื˜ ืื• ืœืงืจืกืจ ืœื“ื‘ื’ ื‘ื“ื™ืงื•ืช ืฉื ื›ืฉืœื•ืช ื•ื”ื ื”ืกืชื‘ื›ื• ืขื ืชื™ืงื•ื ื™ื ืœื ืงืฉื•ืจื™ื ืœื›ืœื•ื ืื‘ืœ ืื•ืคื•ืก ืžืฆื ืืช ื”ื‘ืขื™ื” ืชื•ืš ื›ืžื” ื“ืงื•ืช. ืžืฆื‘ื™ ืคืขื•ืœื” ื‘ื›ืœ ืื—ื“ ืžื”ื›ืœื™ื ื›ืคืชื•ืจ Shift+Tab ื™ื—ื“ ืžื—ืœื™ืฃ ืžืฆื‘ ืคืขื•ืœื”. ื”ืžืฆื‘ื™ื ื”ื: 1. ื‘ืงื•ืคื™ื™ืœื•ื˜ ื™ืฉ "ืžืฆื‘ ืชื›ื ื•ืŸ" ื•"ืžืฆื‘ ืจื’ื™ืœ". ื‘ืฉื‘ื™ืœ ืœืงื ืคื’ "ืืชื” ื—ื™ ืจืง ืคืขื ืื—ืช" ืฆืจื™ืš ืœื”ืคืขื™ืœ ืคืงื•ื“ื” (ื–ื” ืœื ืžืฆื‘). 2. ื‘ืงืœื•ื“ ืงื•ื“ ื™ืฉ ืžืฆื‘ "ืขืจื™ื›ื” ืื•ื˜ื•ืžื˜ื™ืช", "ืžืฆื‘ ืชื›ื ื•ืŸ" 3. ื‘ืงืจืกืจ ื™ืฉ "ืžืฆื‘ ืืชื”-ื—ื™-ืจืง-ืคืขื-ืื—ืช" ืฉืžืืฉืจ ื”ื›ืœ, "ืžืฆื‘ ืชื›ื ื•ืŸ" ื•"ืžืฆื‘ ืฉืืœื•ืช" ื‘ื• ืœืžื•ื“ืœ ืื™ืŸ ื”ืจืฉืื•ืช ืœืฉื ื•ืช ืงื‘ืฆื™ื. ืžืฆื‘ ืชื›ื ื•ืŸ ื”ื•ื ืชืžื™ื“ ืจืขื™ื•ืŸ ื˜ื•ื‘ ื•ื”ื•ื ืžืฉืคืจ ืืช ื”ืชื•ืฆืื•ืช ืื ื™ืฉ ืœื›ื ื›ื— ืœืงืจื•ื ืืช ื”ืชื•ื›ื ื™ืช ื•ืœืชืงืŸ ืื•ืชื” ืœืคื ื™ ืฉืžืคืขื™ืœื™ื. ืงื•ืคื™ื™ืœื•ื˜ ืขื•ื“ื“ ืื•ืชื™ ืœืงืจื•ื ืืช ื”ืชื•ื›ื ื™ืช ื•ืžืžืฉ ื“ืื’ ืœื”ื’ื™ื“ ืœื™ ืฉื–ื” ื—ืฉื•ื‘ ื•ืจืง ืื—ืจื™ ืฉืื ื™ ืžืืฉืจ ื”ื•ื ื™ืชื—ื™ืœ ืœื‘ืฆืข. ืงืœื•ื“ ื“ืจืฉ ืœื—ื™ืฆื” ืขืœ Enter ื›ื“ื™ ืœืขื‘ื•ืจ ืžืžืฆื‘ ืชื›ื ื•ืŸ ืœืžืฆื‘ ื‘ื™ืฆื•ืข ื•ืงืจืกืจ ืืคื™ืœื• ืœ Enter ืœื ืชืžื™ื“ ื—ื™ื›ื”. ื‘ื›ืœ ื”ื›ืœื™ื ืื—ืจื™ ื™ืฆื™ืจืช ื”ืชื•ื›ื ื™ืช ื™ืฉ ื›ืคืชื•ืจ ืฉืคื•ืชื— ืื•ืชื” ื›ืงื•ื‘ืฅ Markdown ื‘ืขื•ืจืš ืฉืžื•ื’ื“ืจ ื‘ EDITOR ื•ืœื“ืขืชื™ ืืคืฉืจ ืœื—ื‘ืจ ืืช ื–ื” ืœ neovim ืฉืขื›ืฉื™ื• ืจืฅ. ืžืฆื‘ ื”ืฉืืœื•ืช ืฉืœ ืงืจืกืจ ื”ื•ื ื’ื ืžืฆื•ื™ืŸ ื›ื™ ืื ื™ ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืื•ืชื• ื•ืœื”ื™ื•ืช ืจื’ื•ืข ืฉื”ื•ื ืœื ื™ืชื—ื™ืœ ืœืฉื ื•ืช ืœื™ ืงื‘ืฆื™ื. ื”ื—ืกืจื•ืŸ ื‘ืžืฆื‘ ื–ื” ื”ื•ื ืฉื”ืกื•ื›ืŸ ืœื ืชืžื™ื“ ืžื‘ื™ืŸ ืฉื”ื•ื ื‘ืžืฆื‘ ืฉืืœื•ืช ื•ืื– ื”ื•ื ืžื ืกื” ืœืฉื ื•ืช ืงื‘ืฆื™ื, ืœื ืžืฆืœื™ื—, ืžืžืฉื™ืš ืœื ืกื•ืช ื•ืจืง ืื—ืจื™ 8-10 ื ืกื™ื•ื ื•ืช ื”ื•ื ืžื‘ื™ืŸ ืฉื–ื” ืœื ื™ืขื‘ื•ื“ ื•ืžื“ืคื™ืก ืืช ื”ืฉื™ื ื•ื™ ื”ืžื•ืฆืข ืขืœ ื”ืžืกืš. ืคื™ืฆ'ืจื™ื ืืœื” ื”ืคื™ืฆ'ืจื™ื ื”ืžืจื›ื–ื™ื™ื ืฉื ื™ืกื™ืชื™ ื‘ืฉืœื•ืฉืช ื”ื›ืœื™ื: 1. ื›ื•ืœื ืชื•ืžื›ื™ื ื‘ืฉืจืชื™ MCP 2. ื›ื•ืœื ืชื•ืžื›ื™ื ื‘ Skills 3. ื›ื•ืœื ื™ื›ื•ืœื™ื ืœื”ืจืื•ืช ืฉื™ื—ื•ืช ื™ืฉื ื•ืช ื•ืœื”ืžืฉื™ืš ืกืฉืŸ ืงื•ื“ื 4. ืงื•ืคื™ื™ืœื•ื˜ ื•ืงืœื•ื“ ื™ื•ื“ืขื™ื ืœื ืชื— ืคืจื•ื™ืงื˜ ื•ืœื™ืฆื•ืจ ืœืขืฆืžื ืงื•ื‘ืฅ AGENTS ื‘ืกื™ืกื™. 5. ืงื•ืคื™ื™ืœื•ื˜ ื™ื•ื“ืข ืœื”ืจืื•ืช ืืช ื”ืฉื™ื ื•ื™ื™ื ื‘ืชื™ืงื™ื™ื” ื‘ื“ื•ืžื” ืœ git diff. ืื™ืฉื™ืช ืื ื™ ืžืขื“ื™ืฃ ืืช git diff ืžืชื•ืš ื•ื™ื ื›ื“ื™ ืœืขื‘ื•ืจ ืขืœ ืฉื™ื ื•ื™ื™ื. 6. ื›ื•ืœื ื™ื•ื“ืขื™ื ืœืขื‘ื•ื“ ืขื sub agents ื•ืœื™ืฆื•ืจ ืกื•ื›ื ื™ื, ืœืžืฉืœ ืกื•ื›ืŸ ืขื‘ื•ืจ code review. 7. ื›ื•ืœื ื™ื•ื“ืขื™ื ืœืฉื’ืจ ืžืกืคืจ ืกื•ื›ื ื™ื ืฉื™ืขื‘ื“ื• ืขืœ ื‘ืขื™ื” ื‘ืžืงื‘ื™ืœ.

ToCode
1 419
ื˜ื™ืค: ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ื•ืงื‘ืฆื™ ื”ื–ื›ืจื•ืŸ ืฉืœื”ื ื ืชืชื ืœืงืœื•ื“ ืœื‘ื ื•ืช ืคื™ืฆ'ืจ, ื”ืžื™ืžื•ืฉ ืœื ื”ื™ื” ืžืฉื”ื•, ืžื—ืงืชื ืืช ืžื” ืฉื”ื•ื ื›ืชื‘ ืขื git restore . && git clean -f -d ื•ื”ืžืฉื›ืชื ื”ืœืื” ื‘ื—ื™ื™ื. ืกื•ืฃ ืกื™ืคื•ืจ? ืœื ื‘ื“ื™ื•ืง. ืงืœื•ื“ ืงื•ื“ ื•ืงื•ืคื™ื™ืœื•ื˜ CLI ืžื ื”ืœื™ื ื–ื›ืจื•ื ื•ืช ืชื•ืš ื›ื“ื™ ืชื ื•ืขื”. ื”ื ืขื•ืฉื™ื ืืช ื–ื” ืื•ื˜ื•ืžื˜ื™ืช ื•ื™ืฉ ื’ื ืชื•ืกืคื™ื ืฉื’ื•ืจืžื™ื ืœื”ื ืœืฉืžื•ืจ ื™ื•ืชืจ ื–ื›ืจื•ื ื•ืช ืื• ืœืฉืžื•ืจ ืืช ื”ื–ื›ืจื•ื ื•ืช ื‘ืฆื•ืจื” ื™ื•ืชืจ ื˜ื•ื‘ื”. ื”ื‘ืขื™ื”? ื›ืฉืžื ืงื™ื ืืช ื”ืขื‘ื•ื“ื” ืฉืœื”ื ืขื git restore ืงื‘ืฆื™ ื”ื–ื›ืจื•ืŸ ืœื ื ืžื—ืงื™ื. ื›ืฉืขื•ื‘ืจื™ื ื‘ื™ืŸ ื›ืžื” ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ืงื‘ืฆื™ ื”ื–ื›ืจื•ืŸ ืœื ืžืชืขื“ื›ื ื™ื. ื”ืžื™ื“ืข ื”ื™ืฉืŸ ื‘ืงื‘ืฆื™ ื”ื–ื›ืจื•ืŸ ื™ื›ื•ืœ ืœืคื’ื•ืข ื‘ืชื•ืฆืื•ืช ืฉืœ ื”ื“ื‘ืจื™ื ื”ื‘ืื™ื ืฉืงืœื•ื“ ื™ื‘ื ื”. ื”ื–ื›ืจื•ืŸ ืฉืœ ืงืœื•ื“ ืงื•ื“ ืžื•ืกื‘ืจ ื‘ื“ืฃ ื”ืชื™ืขื•ื“ ื”ื–ื”: https://code.claude.com/docs/en/memory ื”ืจื‘ื” ืคืขืžื™ื ืฉื•ื•ื” ืœื”ื’ื“ื™ืจ CLAUDE_CODE_DISABLE_AUTO_MEMORY=0 ื•ืœื•ื•ืชืจ ืขืœ ื™ืฆื™ืจืช ื”ื–ื›ืจื•ื ื•ืช ืชื•ืš ื›ื“ื™ ืชื ื•ืขื” ื•ื‘ืžืงื•ื ื–ื” ืœื”ืกืชืžืš ืขืœ ืงื‘ืฆื™ ื”ื•ืจืื•ืช. ื”ื–ื›ืจื•ื ื•ืช ืขืฆืžื ื ืฉืžืจื™ื ื‘ืชื™ืงื™ื™ืช ~/.claude/projects/<project>/memory/. ืชื™ืงื™ื™ื” ืื—ืช ืœืžืขืœื” ืชื•ื›ืœื• ืœืžืฆื•ื ืืช ื›ืœ ื”ืฉื™ื—ื•ืช ื”ืงื•ื“ืžื•ืช ืฉืขืฉื™ืชื ืขื ืงืœื•ื“. ืžื“ื™ ืคืขื ืžื•ืžืœืฅ: 1. ืœื›ืชื•ื‘ /memory ื‘ืชื•ืš ืงืœื•ื“ ืงื•ื“, ืœื‘ืงืฉ ืขืจื™ื›ื” ืฉืœ ืงื•ื‘ืฅ ื”ื–ื›ืจื•ืŸ ื•ืœื ืงื•ืช ืื•ืชื•. 2. ืœื‘ืงืฉ ืžืงืœื•ื“ ืงื•ื“ ืขืฆืžื• ืฉื™ื ืงื” ื–ื›ืจื•ื ื•ืช ืœื ืจืœื•ื•ื ื˜ื™ื™ื ืื• ืœื‘ืงืฉ ืฉื™ืžื—ืง ืคืจื˜ื™ื ืกืคืฆื™ืคื™ื™ื (ื‘ืคืจื•ืžืคื˜ ืฉืœ ืงืœื•ื“ ืงื•ื“).

ToCode
1 419
ื˜ื™ืค: ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ื•ืงื‘ืฆื™ ื”ื–ื›ืจื•ืŸ ืฉืœื”ื ื ืชืชื ืœืงืœื•ื“ ืœื‘ื ื•ืช ืคื™ืฆ'ืจ, ื”ืžื™ืžื•ืฉ ืœื ื”ื™ื” ืžืฉื”ื•, ืžื—ืงืชื ืืช ืžื” ืฉื”ื•ื ื›ืชื‘ ืขื git restore . && git clean -f -d ื•ื”ืžืฉื›ืชื ื”ืœืื” ื‘ื—ื™ื™ื. ืกื•ืฃ ืกื™ืคื•ืจ? ืœื ื‘ื“ื™ื•ืง. ืงืœื•ื“ ืงื•ื“ ื•ืงื•ืคื™ื™ืœื•ื˜ CLI ืžื ื”ืœื™ื ื–ื›ืจื•ื ื•ืช ืชื•ืš ื›ื“ื™ ืชื ื•ืขื”. ื”ื ืขื•ืฉื™ื ืืช ื–ื” ืื•ื˜ื•ืžื˜ื™ืช ื•ื™ืฉ ื’ื ืชื•ืกืคื™ื ืฉื’ื•ืจืžื™ื ืœื”ื ืœืฉืžื•ืจ ื™ื•ืชืจ ื–ื›ืจื•ื ื•ืช ืื• ืœืฉืžื•ืจ ืืช ื”ื–ื›ืจื•ื ื•ืช ื‘ืฆื•ืจื” ื™ื•ืชืจ ื˜ื•ื‘ื”. ื”ื‘ืขื™ื”? ื›ืฉืžื ืงื™ื ืืช ื”ืขื‘ื•ื“ื” ืฉืœื”ื ืขื git restore ืงื‘ืฆื™ ื”ื–ื›ืจื•ืŸ ืœื ื ืžื—ืงื™ื. ื›ืฉืขื•ื‘ืจื™ื ื‘ื™ืŸ ื›ืžื” ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ืงื‘ืฆื™ ื”ื–ื›ืจื•ืŸ ืœื ืžืชืขื“ื›ื ื™ื. ื”ืžื™ื“ืข ื”ื™ืฉืŸ ื‘ืงื‘ืฆื™ ื”ื–ื›ืจื•ืŸ ื™ื›ื•ืœ ืœืคื’ื•ืข ื‘ืชื•ืฆืื•ืช ืฉืœ ื”ื“ื‘ืจื™ื ื”ื‘ืื™ื ืฉืงืœื•ื“ ื™ื‘ื ื”. ื”ื–ื›ืจื•ืŸ ืฉืœ ืงืœื•ื“ ืงื•ื“ ืžื•ืกื‘ืจ ื‘ื“ืฃ ื”ืชื™ืขื•ื“ ื”ื–ื”: https://code.claude.com/docs/en/memory ื”ืจื‘ื” ืคืขืžื™ื ืฉื•ื•ื” ืœื”ื’ื“ื™ืจ CLAUDE_CODE_DISABLE_AUTO_MEMORY=0 ื•ืœื•ื•ืชืจ ืขืœ ื™ืฆื™ืจืช ื”ื–ื›ืจื•ื ื•ืช ืชื•ืš ื›ื“ื™ ืชื ื•ืขื” ื•ื‘ืžืงื•ื ื–ื” ืœื”ืกืชืžืš ืขืœ ืงื‘ืฆื™ ื”ื•ืจืื•ืช. ื”ื–ื›ืจื•ื ื•ืช ืขืฆืžื ื ืฉืžืจื™ื ื‘ืชื™ืงื™ื™ืช ~/.claude/projects/<project>/memory/. ืชื™ืงื™ื™ื” ืื—ืช ืœืžืขืœื” ืชื•ื›ืœื• ืœืžืฆื•ื ืืช ื›ืœ ื”ืฉื™ื—ื•ืช ื”ืงื•ื“ืžื•ืช ืฉืขืฉื™ืชื ืขื ืงืœื•ื“. ืžื“ื™ ืคืขื ืžื•ืžืœืฅ: 1. ืœื›ืชื•ื‘ /memory ื‘ืชื•ืš ืงืœื•ื“ ืงื•ื“, ืœื‘ืงืฉ ืขืจื™ื›ื” ืฉืœ ืงื•ื‘ืฅ ื”ื–ื›ืจื•ืŸ ื•ืœื ืงื•ืช ืื•ืชื•. 2. ืœื‘ืงืฉ ืžืงืœื•ื“ ืงื•ื“ ืขืฆืžื• ืฉื™ื ืงื” ื–ื›ืจื•ื ื•ืช ืœื ืจืœื•ื•ื ื˜ื™ื™ื ืื• ืœื‘ืงืฉ ืฉื™ืžื—ืง ืคืจื˜ื™ื ืกืคืฆื™ืคื™ื™ื (ื‘ืคืจื•ืžืคื˜ ืฉืœ ืงืœื•ื“ ืงื•ื“).

ToCode
1 419
ื”ื‘ื ื” ืœืขื•ืžืช ืฉื™ืžื•ืฉ "ืืชื” ื™ื›ื•ืœ ืœื”ื‘ื™ืŸ ืื•ืชื™ ืื‘ืœ ืœื ืžืฆืœื™ื— ืœื“ื‘ืจ ื›ืžื•ื ื™" ืงืจืื” ืœื™ ื‘ืื ื’ืœื™ืช ื”ืคืจืกื•ืžืช ื”ื—ื•ื–ืจืช ื‘ื˜ื™ืงื˜ื•ืง. ืจื•ื‘ ื”ื–ืžืŸ ื”ื™ื ืฆื•ื“ืงืช, ื”ื‘ื ื” ื•ืฉื™ืžื•ืฉ ื‘ืฉืคื” ื–ื” ืฉื ื™ ื“ื‘ืจื™ื ืฉื•ื ื™ื ืืฆืœ ื‘ื ื™ ืื“ื. ื”ืžื•ืŸ ืื ืฉื™ื ืžืฆืœื™ื—ื™ื ืœื”ื‘ื™ืŸ ืื ื’ืœื™ืช ื’ื ื‘ืจืžื” ื’ื‘ื•ื”ื” ืื‘ืœ ื‘ืงื•ืฉื™ ืžืฆืœื™ื—ื™ื ืœื“ื‘ืจ ืื• ืœื›ืชื•ื‘, ื•ื–ื• ืœื ื‘ืขื™ื” ืฉืœ ืžื‘ื˜ื. ื”ืžื™ืœื™ื ืคืฉื•ื˜ ืœื ืฉื ื›ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ืื•ืชืŸ. ืื‘ืœ ืžื” ืฉืื ื—ื ื• ืจื•ืื™ื ื‘ืงืœื•ืช ืœื’ื‘ื™ ืื ื’ืœื™ืช ืงืฉื” ืœื ื• ืœืจืื•ืช ืœื’ื‘ื™ ืชื›ื ื•ืช. ืื ื—ื ื• ืžืกืชื›ืœื™ื ืขืœ ืงื•ื“ ืฉ AI ื›ืชื‘ ื•ืžืจื’ื™ืฉื™ื ืฉืื ื—ื ื• ืžื‘ื™ื ื™ื ื”ื›ืœ, ืฉื”ื›ืœ ืขื•ื‘ื“ ื›ืžื• ืฉืฆืจื™ืš ื•ืฉืืคืฉืจ ืœืงื‘ืœ ืืช ื”ืฉื™ื ื•ื™ ื•ืœื”ืชืงื“ื ื’ื ื›ืฉื‘ืจื•ืจ ืฉืœื ื™ื›ืœื ื• ืœื›ืชื•ื‘ ืืช ื–ื” ืœื‘ื“. ื”ื‘ืขื™ื” ื”ื™ื ืœื ื—ื•ืกืจ ื–ืžืŸ ืืœื ืฉื”ืจืขื™ื•ืŸ ื”ื ื›ื•ืŸ ืคืฉื•ื˜ ืœื ืงื•ืคืฅ ืœืจืืฉ. ื”ืจื‘ื” ืื ืฉื™ื ื‘ืชืขืฉื™ื™ื” ื˜ื•ืขื ื™ื ื”ื™ื•ื ืฉื–ื” ื‘ืกื“ืจ. ืฉื’ื ืื ื”ื™ื•ื ื” AI ืœื ื ื•ืชืŸ ืืช ื”ืคืชืจื•ืŸ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ ืื• ืœื ื ื•ืชืŸ ืืช ื”ืคืชืจื•ืŸ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ ื‘ืคืขื ื”ืจืืฉื•ื ื” ืขื ื”ื–ืžืŸ ื”ื•ื ื™ืฉืชืคืจ ื•ื™ื™ืชืŸ ืืช ื”ืคืชืจื•ืŸ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ. ื”ื™ื›ื•ืœืช ืœื—ืฉื•ื‘ ืœื‘ื“ ืขืœ ื”ืคืชืจื•ืŸ ื”ื ื›ื•ืŸ ืœืกื™ื˜ื•ืืฆื™ื” ืžืื‘ื“ืช ืžื—ืฉื™ื‘ื•ืชื” ื•ื‘ืงืจื•ื‘ ืœื ื ืฆื˜ืจืš ืื•ืชื” ื›ืœืœ. ืฆืจื™ืš ืœื”ื’ื™ื“, ืื ื—ื ื• ืœื ื™ื•ื“ืขื™ื ืžื” ื™ืœื“ ื™ื•ื. ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ ืฉืœ ื”ืขืชื™ื“ ื™ื”ื™ื” ื›ืœ ื›ืš ื˜ื•ื‘ ืฉืืฃ ืื—ื“ ืœื ื™ืจืื” ื™ื•ืชืจ ืงื•ื“ ื•ื ืขื‘ื•ืจ ืœืชื›ื ืช ื‘ืื ื’ืœื™ืช ื•ืืคื™ืœื• ืœื ื ืฆื˜ืจืš ืœื”ื‘ื™ืŸ ืืช ื”ืงื•ื“ ืฉื”ื•ื ื›ื•ืชื‘. ืื‘ืœ ื›ืœ ืขื•ื“ ื›ืŸ ื—ืฉื•ื‘ ืœื›ื ืœื”ื‘ื™ืŸ ืืช ื”ืงื•ื“ ืฉื™ื•ืฆื ืฉื•ื•ื” ืœื–ื›ื•ืจ ืฉื”ื‘ื ื” ื”ื™ื ืกืงืืœื”. ื”ื”ื‘ื ื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ื›ื•ืœืœืช ื’ื ืืช ื”ื™ื›ื•ืœืช ืœื“ื‘ืจ. ื•ืžื” ืฉื˜ื•ื‘ ื–ื” ืฉืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ ื™ื›ื•ืœ ืœืขื–ื•ืจ ืœื›ื ื’ื ื‘ื–ื” ืื ืจืง ืชื‘ืงืฉื•.

ToCode
1 419
functions aren't used for the second account because they are hard coded with $this->accountId
  Map the helper functions that could be reused, refactor them to accept accountId and then refactor the tests to
  use them
ื•ืคื” ื‘ืขืฆื ื”ื›ื™ืฃ ืžืชื—ื™ืœ - ื›ื™ ืื ื™ ืœื ื—ื™ื™ื‘ ืœื‘ื—ื•ืจ ื‘ืืคืฉืจื•ืช ื”ื ืื™ื‘ื™ืช. ื‘ืจื’ืข ืฉื™ืฉ ืœื™ ื›ืœื™ ื›ืžื• AI ืื ื™ ื™ื›ื•ืœ ืœื—ืœื•ื ืขืœ ืฉื™ื ื•ื™ื ื’ื“ื•ืœื™ื ื‘ืชืฉืชื™ืช ืฉื™ืืคืฉืจื• ืงื•ื“ ื”ืจื‘ื” ื™ื•ืชืจ ื ืงื™. ื–ืืช ื”ืžืฉืžืขื•ืช ืฉืœ ืœืฆื™ื™ืจ ื‘ืžื‘ืจืฉืช ืขื‘ื”. ื”ื ื” ืคืจื•ืžืคื˜ ืื—ืจ ืฉื™ื™ืชืŸ ืชื•ืฆืื” ืื—ืจืช ืœื’ืžืจื™:
I see file @tests/Automations/AutomationQueueReconciliationWorkerTest.php uses 2 accounts but many of the helper
functions aren't used for the second account because they are hard coded with $this->accountId
Create a class to wrap test helpers of an account call it TestAccount. Move all test helpers to be mthods of this class and use it to create multiple accounts:

$account1 = new TestAccount();
$account1->seupWorkflowWithSubscribers();
$account2 = new TestAccount();
$account2->seupWorkflowWithSubscribers();
ื”ืžืคืชื— ื›ืืŸ ื”ื•ื ืœืฉื™ื ืœื‘ ืฉื’ื ืขื AI ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื›ืชื•ื‘ ืงื•ื“ ื‘ืื™ื˜ืจืฆื™ื•ืช, ื’ื ืขื AI ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืฉื™ื ืœื‘ ืœื‘ืขื™ื•ืช ืžืขืจื›ืชื™ื•ืช ื‘ืงื•ื“ ื•ืจืง ื‘ื’ืœืœ ืฉืื ื—ื ื• ืฉืžื™ื ืœื‘ ืœื‘ืขื™ื•ืช ื”ืืœื” ืื—ืจื™ ืฉื”ืงื•ื“ ืขื•ื‘ื“ ืœื ืื•ืžืจ ืฉื›ื“ืื™ ืœื”ื™ืฉืืจ ืื™ืชืŸ, ื›ื™ ื‘ื–ื›ื•ืช ื” AI ืงืœ ืžืื•ื“ ืœืชืงืŸ ื‘ืขื™ื•ืช ืžืขืจื›ืชื™ื•ืช ื•ืœื ืกื•ืช ืจืขื™ื•ื ื•ืช ื—ื“ืฉื™ื.

ToCode
1 419
ืงื•ื“ ื™ื“ื™ื“ื•ืชื™ ืœื‘ื ื™ ืื“ื ืขื“ื™ื™ืŸ ื ืื‘ืงื™ื ื‘ AI ื›ื“ื™ ืฉื™ื›ืชื•ื‘ ืืช ื”ืงื•ื“ ืฉืืชื ืฆืจื™ื›ื™ื? ื—ืœืง ืžื”ืกื™ื‘ื” ื”ื™ื ืฉื”ืคืจื•ื™ืงื˜ ืฉืœื›ื ืžืกื•ื‘ืš ืžื“ื™ ื•ื—ืœืง ืžื”ืกื™ื‘ื” ืฉื”ืคืจื•ื™ืงื˜ ืžืกื•ื‘ืš ื”ื™ื ื”ืงื•ื“ ืฉืกื•ื›ืŸ ื”ืงื™ื“ื•ื“ ื›ื‘ืจ ื›ืชื‘. ื“ื•ื’ืžื”? ื‘ื˜ื—. ื–ื” ื‘ PHP ื”ื™ื•ื:
// Create workflow in account 1
$messageIds1 = $this->createSeriesMessages(2);
$template1 = $this->generateSeriesLogicJsonTemplate(2);
$result1 = $this->createSeriesAutomationWithMessages(
    $this->accountId,
    $this->listId,
    $template1,
    array_combine(range(0, count($messageIds1) - 1), $messageIds1)
);
$workflowId1 = $result1['workflowId'];

// Add subscribers to account 1
$subscriberIds1 = array_slice($this->subscriberIds, 0, 3);
$this->seedUserEnterList($this->listId, $subscriberIds1, $this->accountId);
$this->runAutomationHandler($this->accountId);

// Create second account
$this->secondAccount = $this->createSecondAccount(5);

// Create workflow in account 2
$messageIds2 = [];
for ($i = 0; $i < 2; $i++) {
    $messageIds2[] = $this->createMessageForAccount(
        $this->secondAccount['accountId'],
        $this->secondAccount['listId'],
        $this->secondAccount['senderId'],
        "Account2 Message " . ($i + 1),
        "Account2 Subject " . ($i + 1)
    );
}
// ... skip more code ...
$workflowId2 = $responseData2['createdId'];
ื”ืงื•ื“ ื ื›ืชื‘ ืขืœ ื™ื“ื™ ืงืœื•ื“ (ืงืœื•ื“ ืงื•ื“ ื”ืคืขื), ื”ื•ื ืชื•ืคืก 31 ืฉื•ืจื•ืช, ืฉื•ืจื•ืช ืฉื›ืฉืžื ืกื™ื ืœืงืจื•ื ืื•ืชืŸ ื”ืžื•ื— ื”ืื ื•ืฉื™ ืžืชืขื™ื™ืฃ ื•ื—ืœื•ืŸ ื”ืงื•ื ื˜ืงืกื˜ ืฉืœ ื” AI ืžืชืžืœื. ื•ื”ื•ื ืžื›ื™ืœ ืืช ื›ืœ ื”ื ื˜ื™ื•ืช ื”ืื•ื‘ื“ื ื™ื•ืช ืฉืœ ื” AI ื‘ืžืงื•ื ืื—ื“. ื‘ื•ืื• ื ืคืจืง ืืช ื–ื”. ืžื” ื”ืงื•ื“ ืขื•ืฉื” - ืงื•ืจืื™ื ืจืง ืืช ื”ื”ืขืจื•ืช ืขื‘ื“ืชื™ ืขื ืžืคืชื—ื™ื ื˜ื•ื‘ื™ื ืฉืœื ืื•ื”ื‘ื™ื ื”ืขืจื•ืช ื•ืื—ื“ ื”ื“ื‘ืจื™ื ื”ื—ืฉื•ื‘ื™ื ืฉืœืžื“ืชื™ ืฉื ื”ื™ื” ืฉื”ืขืจื•ืช ื‘ืงื•ื“ ื”ืŸ ืกื™ืžืคื˜ื•ื, ืกื™ืžืŸ ืœืงื•ื“ ืฉืœื ื™ื•ื“ืข ืœื“ื‘ืจ. ืืฆืœ ืงืœื•ื“ ืงื•ื“ ื–ื• ืžืžืฉ ืžื—ืœื” ื›ื™ ืžืกืคื™ืง ืœืงืจื•ื ืืช ื”ื”ืขืจื•ืช ื›ื“ื™ ืœื”ื‘ื™ืŸ ืžื” ื”ืงื•ื“ ืืžื•ืจ ืœืขืฉื•ืช: 1. ื™ื•ืฆืจ workflow ื‘ื—ืฉื‘ื•ืŸ 1 2. ืžื•ืกื™ืฃ ืžื ื•ื™ื™ื ืœื—ืฉื‘ื•ืŸ 1 3. ื™ื•ืฆืจ ื—ืฉื‘ื•ืŸ ืฉื ื™ 4. ื™ื•ืฆืจ workflow ื‘ื—ืฉื‘ื•ืŸ 2 ื›ืฉืื ื™ ืžืžืงื“ ืืช ื”ืžืฉืงืคื™ื™ื ื‘ื”ืขืจื•ืช ื›ื‘ืจ ืขื•ืœื•ืช ืฉืืœื•ืช: ืœืžื” ืœื ื™ืฆืจืช ืืช ื—ืฉื‘ื•ืŸ 1? ืœืžื” ืœื ื”ื•ืกืคืช ืžื ื•ื™ื™ื ืœื—ืฉื‘ื•ืŸ 2? ื‘ื˜ื•ื— ื™ืฉ ืชืฉื•ื‘ื•ืช ืœื–ื” ืื‘ืœ ืื ื™ ืจืง ืจื•ืฆื” ืฉื ืฉื™ื ืœื‘ ืฉื™ืฉ ืขืจืš ืœืื•ืชื• ืคื•ืงื•ืก. ื›ืฉื ื’ื™ืข ืœืงืจื•ื ืืช ื”ืงื•ื“ ืฉืงืœื•ื“ ื›ืชื‘ ื™ื”ื™ื” ืœื ื• ืžืื•ื“ ื™ืขื™ืœ ืœื”ืชื—ื™ืœ ื‘ื”ืขืจื•ืช ื•ืœื”ืชืขืœื ืžื”ืงื•ื“ ืขืฆืžื• - ื•ื–ื” ืกื™ืžืŸ ื“ื™ ืจืข ื›ื™ ืœืื•ืจืš ื–ืžืŸ ืื ืฉื™ื ื•ืกื•ื›ื ื™ ืงื™ื“ื•ื“ ืœื ืชืžื™ื“ ืžืฆืœื™ื—ื™ื ืœืขื“ื›ืŸ ื’ื ืืช ื”ืงื•ื“ ื•ื’ื ืืช ื”ื”ืขืจื•ืช. ืœื›ืŸ ื”ืฆืขื“ ื”ืจืืฉื•ืŸ ื‘ืขื“ื›ื•ืŸ ื”ืงื•ื“ (ืืคืฉืจ ืœื‘ืงืฉ ืžืงืœื•ื“ ืงื•ื“ ืœืขืฉื•ืช ืืช ื–ื” ืื• ื‘ืขืฆืžื›ื) ื”ื•ื ืœืงื—ืช ืืช ื”ืงื•ื“ ื•ืœืกื“ืจ ืื•ืชื• ืœืคื•ื ืงืฆื™ื•ืช. ืื™ืคื” ืฉื™ืฉ ื”ืขืจื” ื–ื” ื™ื”ื™ื” ืฉื ื”ืคื•ื ืงืฆื™ื”:
$workflowId1         = $this->createWorkflowInAccount($this->accountId);
$this->addSubscribersToAccount($this->accountId);
$this->secondAccount = $this->createSecondAccount(['subscribers' => 5]);
$workflowId2         = $this->createWorkflowInAccount($this->secondAccount);
ืœืžื” ื”ืงื•ื“ ืœื ืขืงื‘ื™ ื“ื‘ืจ ืฉื ื™ ืฉืื ื—ื ื• ืžื™ื“ ืฉืžื™ื ืœื‘ ื”ื•ื ื—ื•ืกืจ ื”ืขืงื‘ื™ื•ืช ื‘ืงื•ื“ ื‘ื™ืŸ ื™ืฆื™ืจืช ื” workflow ืœื—ืฉื‘ื•ืŸ ื”ืจืืฉื•ืŸ ืœื™ืฆื™ืจืช ื” workflow ืœื—ืฉื‘ื•ืŸ ื”ืฉื ื™. ื–ื” ื”ื—ืฉื‘ื•ืŸ ื”ืจืืฉื•ืŸ:
// Create workflow in account 1
$messageIds1 = $this->createSeriesMessages(2);
$template1 = $this->generateSeriesLogicJsonTemplate(2);
$result1 = $this->createSeriesAutomationWithMessages(
    $this->accountId,
    $this->listId,
    $template1,
    array_combine(range(0, count($messageIds1) - 1), $messageIds1)
);
$workflowId1 = $result1['workflowId'];
ื‘ื—ืฉื‘ื•ืŸ ื”ืฉื ื™ ื“ื™ืœื’ืชื™ ืขืœ ืจื•ื‘ ื”ืงื•ื“ ื›ื™ ื”ื•ื ื”ื™ื” ืžืื•ื“ ืืจื•ืš. ืžื” ืฉืงืœื•ื“ ืขืฉื” ืฉื ื”ื•ื ืžืขื ื™ื™ืŸ - ื”ืคื•ื ืงืฆื™ื•ืช ืฉืžื•ืคื™ืขื•ืช ื‘ืงื˜ืข ื•ื™ื•ืฆืจื•ืช ืืช ื”ืžื™ื“ืข ืœื—ืฉื‘ื•ืŸ ื”ืจืืฉื•ืŸ ืœื ืžืงื‘ืœื•ืช ืืช ืžื–ื”ื” ื”ื—ืฉื‘ื•ืŸ ื‘ืชื•ืจ ืคืจืžื˜ืจ ื•ืชืžื™ื“ ื™ืขื‘ื“ื• ืขืœ $this->accountId. ืงืœื•ื“ ืงื•ื“ ืžืฉืชื“ืœ ืžืื•ื“ ืœื ืœืฉื ื•ืช ื—ืชื™ืžื•ืช ืฉืœ ืคื•ื ืงืฆื™ื•ืช ื•ืœื›ืŸ ื”ื•ื ื™ืขื“ื™ืฃ ืœื”ืขืชื™ืง ืืช ืชื•ื›ืŸ ื”ืคื•ื ืงืฆื™ื•ืช ืžืชื—ืช ืœื”ืขืจื” ื•ืœื™ื™ืฆืจ ื”ืจื‘ื” ื™ื•ืชืจ ืงื•ื“ ืฉื’ื ืœื ืขืงื‘ื™ ืขื ื”ืงื•ื“ ืฉื”ื™ื” ืœืคื ื™ื•. ื”ื”ื–ื“ืžื ื•ืช ื—ื•ืกืจ ื”ืขืงื‘ื™ื•ืช ื”ื•ื ืกื™ืžืŸ ื‘ืจื•ืจ ืœื–ื” ืฉื”ืชืฉืชื™ืช ืฉื”ื™ืชื” ืœื™ ื‘ืงื•ื“ ืœื ื”ื™ืชื” ืžืกืคื™ืง ื˜ื•ื‘ื” ื‘ืฉื‘ื™ืœ ื”ืงื•ื“ ื”ื—ื“ืฉ ืฉืงืœื•ื“ ื™ืฆืจ. ื•ืคื” ื™ืฉ ืœื™ ื”ื–ื“ืžื ื•ืช ืœืฉื™ื ืœื‘ ืœืคืขืจ ื•ืœืชืงืŸ ืื•ืชื• ื•ื›ืš ื’ื ื” Code Review ืฉืœื™ ื™ื”ื™ื” ืžื”ื™ืจ ื™ื•ืชืจ. ื‘ืจื’ืข ืฉื–ื™ื”ื™ืชื™ ืืช ื”ื‘ืขื™ื” ืื ื™ ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืคืจื•ืžืคื˜ ื‘ืกื’ื ื•ืŸ ื”ื–ื”:
I see file @tests/Automations/AutomationQueueReconciliationWorkerTest.php uses 2 accounts but many of the helper

ToCode
1 419
ืชื•ื“ื” ืœื›ืœ ืืœื” ืฉื‘ืื• ื”ื™ื•ื ื”ื”ืืจื•ืช ื•ื”ืฉืืœื•ืช ืฉืœื›ื ื”ืŸ ื”ื“ืจืš ื”ื›ื™ ื˜ื•ื‘ื” ื’ื ื‘ืฉื‘ื™ืœื™ ืœื”ื‘ื™ืŸ ื˜ื•ื‘ ื™ื•ืชืจ ืืช ืจืขื™ื“ืช ื”ืื“ืžื” ื”ื–ื• ืฉื›ื•ืœื ื• ื—ื•ื•ื™ื. ืฉื‘ื•ืข ื”ื‘ื ื•ื•ื‘ื™ื ืจ ืขืœ LangGraph ื•ืื ื—ื ื• ืขื•ื“ ื ื—ื–ื•ืจ ืœื ื•ืฉื ืฉืœ ืคืจื•ื™ืงื˜ื™ื ื™ื“ื™ื“ื•ืชื™ื™ื ืœ AI ื‘ืกื“ืจืช ื”ื•ื•ื‘ื™ื ืจื™ื ื”ื‘ืื”.