5 Overlooked Packages Running My AI Directory Stack

ಒಂದು ಪ್ರಾಜೆಕ್ಟ್‌ನ ಅತ್ಯುತ್ತಮ ಭಾಗಗಳು ಯಾವಾಗಲೂ AI ಮಾಡೆಲ್ ಅಥವಾ ಹೋಸ್ಟಿಂಗ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಆಗಿರುವುದಿಲ್ಲ.

ನನ್ನ ಪ್ಯಾಕೇಜ್ ಫೈಲ್‌ಗಳಲ್ಲಿರುವ ಐದು ಅವಲಂಬನೆಗಳ (dependencies) ಸೋರ್ಸ್ ಕೋಡ್ ಅನ್ನು ಓದಲು ನಾನು ಸಮಯ ವ್ಯಯಿಸಿದೆ. ಈ ಪರಿಕರಗಳು ಟ್ರೆಂಡಿಂಗ್‌ನಲ್ಲಿಲ್ಲ. ಆದರೆ ಇವು ಮೂಲಾಧಾರವಾಗಿವೆ (load-bearing).

ನನ್ನ ಸ್ಟ್ಯಾಕ್ Astro 5, Turso libSQL, GitHub Actions ಮತ್ತು Claude Haiku 4.5 ಅನ್ನು ಬಳಸುತ್ತದೆ. ನಾನು ಮೂರು ಸೈಟ್‌ಗಳನ್ನು ನಡೆಸುತ್ತಿದ್ದೇನೆ: Top AI Tools, Find Games Like, ಮತ್ತು Open Alternative To. ಮೂಲಸೌಕರ್ಯವು (infrastructure) ಸದೃಢವಾಗಿದೆ. ಇದು ಬಗ್‌ಗಳನ್ನು ಸರಿಪಡಿಸುವ ಬದಲು ವಿಷಯದ (content) ಮೇಲೆ ಗಮನ ಹರಿಸಲು ನನಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ಆ ಐದು ಪರಿಕರಗಳು ಇಲ್ಲಿವೆ:

  • tsx ಪ್ರತಿಯೊಂದು ETL ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಚಲಾಯಿಸಲು ನಾನು ಇದನ್ನು ಬಳಸುತ್ತೇನೆ. ಇದು ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಕಾನ್ಫಿಗರೇಶನ್ ಇಲ್ಲದೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಇದು esbuild ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಸ್ಟಾರ್ಟ್ಅಪ್ ವೇಗವಾಗಿರುತ್ತದೆ. ಇದು ಟೈಪ್ ಚೆಕಿಂಗ್ ಅನ್ನು ಮಾಡುವುದಿಲ್ಲ. CI ಸಮಯದಲ್ಲಿ ಟೈಪ್ ಚೆಕಿಂಗ್ ಮಾಡಲು ನಾನು pnpm ಅನ್ನು ಬಳಸುತ್ತೇನೆ. ಈ ಹೊಂದಾಣಿಕೆಯು (tradeoff) ನನ್ನ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ವೇಗವಾಗಿ ಚಲಾಯಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

  • Pagefind ಇದು ನನ್ನ ಬಿಲ್ಡ್ ಹಂತದ ನಂತರ ಚಲಿಸುತ್ತದೆ. ಇದು ನನ್ನ HTML ಅನ್ನು ಕ್ರಾಲ್ (crawl) ಮಾಡುತ್ತದೆ ಮತ್ತು ಸಂಕುಚಿತ ಸೂಚಿಕೆಯನ್ನು (compressed index) ರಚಿಸುತ್ತದೆ. ಇದು Vercel ಅಥವಾ Cloudflare ನಂತಹ ಸ್ಟ್ಯಾಟಿಕ್ ಹೋಸ್ಟ್‌ಗಳಲ್ಲಿ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಸೆಟಪ್ ಇಲ್ಲದೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಸೂಚಿಕೆಯು ಸಣ್ಣದಾಗಿರುತ್ತದೆ. ನನ್ನ Astro ಕಾಮಪೊನೆಂಟ್‌ಗಳಲ್ಲಿ ಫಲಿತಾಂಶಗಳು ಹೇಗೆ ಕಾಣಿಸಬೇಕೆಂದು ನಿಯಂತ್ರಿಸಲು ನಾನು ನೇರವಾಗಿ JS API ಅನ್ನು ಬಳಸುತ್ತೇನೆ.

  • Crawlee ನಾನು ಇದನ್ನು ಇನ್ನೂ ಬಳಸಿಲ್ಲ, ಆದರೆ ಬಳಸಲು ಯೋಜಿಸುತ್ತಿದ್ದೇನೆ. ಪ್ರಸ್ತುತ ನಾನು ನನ್ನ ಡೇಟಾಕ್ಕಾಗಿ ಮ್ಯಾನುಯಲ್ ಪಾರ್ಸಿಂಗ್ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ. Crawlee ರಿಕ್ವೆಸ್ಟ್ ಕ್ಯೂಗಳು (request queues) ಮತ್ತು ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ. API ಇಲ್ಲದ ಸೈಟ್‌ಗಳನ್ನು ಸ್ಕ್ರೇಪ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿದಾಗ ಇದು ಸರಿಯಾದ ಪರಿಕರವಾಗಿದೆ.

  • yaml ಇದು ನನ್ನ ಲೇಖನಗಳಲ್ಲಿನ ಫ್ರಂಟ್‌ಮ್ಯಾಟರ್ (frontmatter) ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ. ಇದು ಚಿಕ್ಕದಾಗಿದೆ ಮತ್ತು ಯಾವುದೇ ಅವಲಂಬನೆಗಳನ್ನು (dependencies) ಹೊಂದಿಲ್ಲ. ಇದು ಸಂಕೀರ್ಣ ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ಚೆನ್ನಾಗಿ ನಿರ್ವಹಿಸುತ್ತದೆ. ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಉಳಿಸಿಕೊಂಡೇ ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ಮತ್ತೆ YAML ಆಗಿ ಪರಿವರ್ತಿಸಬಹುದು. ಫೈಲ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡಬೇಕಾದಾಗ ಇದು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

  • @libsql/client ಇದು ನನ್ನ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು Turso ಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ. ನಾನು ಬ್ಯಾಚ್ API (batch API) ಮೇಲೆ ಅವಲಂಬಿತನಾಗಿದ್ದೇನೆ. ಒಂದು ಕರೆಯು (call) ಒಂದೇ ನೆಟ್‌ವರ್ಕ್ ಟ್ರಿಪ್‌ನಲ್ಲಿ ಹಲವಾರು ಸ್ಟೇಟ್‌ಮೆಂಟ್‌ಗಳನ್ನು ಚಲಾಯಿಸಬಹುದು. ಟೇಬಲ್‌ಗಳನ್ನು ಸೀಡ್ (seeding) ಮಾಡುವಾಗ ಇದು ವೇಗವಾಗಿರುತ್ತದೆ. ಇದು ನೆಟ್‌ವರ್ಕ್ ಇಲ್ಲದೆ ಸ್ಥಳೀಯವಾಗಿಯೂ (locally) ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಇದು ಅಭಿವೃದ್ಧಿಯ ಸಮಯದಲ್ಲಿ (development) ನನ್ನ API ಕೋಟಾವನ್ನು ಉಳಿಸುತ್ತದೆ.

ಈ ಪ್ಯಾಕೇಜ್‌ಗಳು ಮೌನ ಮೂಲಸೌಕರ್ಯಗಳಾಗಿವೆ. ಇವು ನನ್ನ ಸ್ಟ್ಯಾಕ್‌ನ AI ಭಾಗಗಳು ತಮ್ಮ ಕೆಲಸವನ್ನು ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತವೆ.

Source: https://dev.to/morinaga/five-overlooked-packages-running-my-ai-directory-stack-1lem