🔥 astral-sh / ruff - An extremely fast Python linter and code formatter, written
GitHub热门项目 | An extremely fast Python linter and code formatter, written in Rust. | Stars: 47,898 | 17 stars today | 语言: Rust
找到 1387 篇相关文章
GitHub热门项目 | An extremely fast Python linter and code formatter, written in Rust. | Stars: 47,898 | 17 stars today | 语言: Rust
GitHub热门项目 | The first open-source harness builder for AI coding. Make AI coding deterministic and repeatable. | Stars: 22,310 | 38 stars today | 语言: TypeScript
GitHub热门项目 | Spec-driven development (SDD) for AI coding assistants. | Stars: 54,010 | 290 stars today | 语言: TypeScript
GitHub热门项目 | 🧡 Folo is the AI RSS Reader | Stars: 38,447 | 36 stars today | 语言: TypeScript
GitHub热门项目 | Create and share 3D architectural projects. | Stars: 16,576 | 69 stars today | 语言: TypeScript
GitHub热门项目 | One brain for all your agents | Stars: 637 | 47 stars today | 语言: TypeScript
GitHub热门项目 | Stop renting your intelligence. Own it with AnythingLLM. Everything you need for a powerful local-first agent experience | Stars: 61,365 | 71 stars today | 语言: JavaScript
GitHub热门项目 | A curated collection of practical AI projects implementing OCR systems, RAG, AI agents, and other AI use cases. | Stars: 1,908 | 125 stars today | 语言: Python
GitHub热门项目 | Advanced DNS tunneling VPN for censorship bypass, optimized beyond DNSTT and SlipStream with low-overhead ARQ, resolver load balancing, high packet-loss stability and speed. | Stars: 4,987 | 92 stars today | 语言: Go
GitHub热门项目 | 🕵️♂️ Collect a dossier on a person by username from 3000+ sites | Stars: 31,717 | 261 stars today | 语言: Python
GitHub热门项目 | Production-grade engineering skills for AI coding agents. | Stars: 50,403 | 781 stars today | 语言: Shell
In every successful Polymarket Trading bot, liquidity monitoring is one of the most overlooked yet...
Every low-code vendor says "we support customization." But supports is a weasel word — recoloring a button is customization, and rewriting a scheduling engine is also customization. What actually decides whether a platform locks you in is how far up its extensibility goes. Here's a ruler. The three levels of customization Level What you can do Most no-code A real dev framework L1 — Config Fields, forms, workflows, permissions, themes ✅ ✅ L2 — Extension Custom components, custom actions, external API calls, business rules ⚠️ limited ✅ L3 — Framework Modify/extend the core, custom engines, deep rewrites, source under control ❌ wall ✅ (when open/controllable) Where it stops is where your ceiling is. Plenty of no-code platforms are delightful at L1, then hit "can't do that" at L2/L3 — and you retreat to writing your own thing next to it. Now low-code is the burden. Why you get locked in Black-box SaaS — no source, so any extension point the vendor didn't expose is simply out of reach. Two sources of truth — your extension code and the platform's config live in different systems, so a platform upgrade breaks/voids your work. Crippled self-hosting — the on-prem edition quietly drops extension capabilities. Closed ecosystem — only their component marketplace; your stack can't get in. How model-driven + open source raises the ceiling One unified extension system — your extensions (custom fields/components/actions) and the platform itself are built on the same metadata. Extension isn't a bolt-on, it's a first-class citizen — upgrades don't wipe your customizations. Source under your control — open + self-hostable is what makes L3 framework-level extension actually possible: an extension point you can't reach, you can add. AI at the metadata layer — AI-generated extensions land in the same model, so they stay maintainable and evolvable. That's the road Oinone takes: 100% metadata-driven, front + back end open source, self-hostable — customization reaches L3. How to stress-tes
DEV.to Article: How I Built an FTIR Analysis Platform with Claude Title: How I Built an FTIR Analysis Platform with Claude (and What I Learned About AI-Assisted Development) Tags: python, chemistry, opensource, ai Published: true (can publish immediately on DEV) The Backstory I'm a materials science graduate, not a software developer. I know FTIR spectroscopy — identifying polymers, interpreting functional group peaks, matching unknown samples against reference libraries. But when I needed to search FTIR spectra programmatically, I hit a wall: the existing tools were either expensive enterprise packages or Excel macros from the early 2000s. So I decided to build my own. And I used Claude (Anthropic's AI assistant) as my coding partner. This is the story of how a domain expert with basic Python skills built a production FTIR search platform — 135,000 spectra, MCP server, API, community features — with AI writing about 70% of the code. Step 1: The Core Algorithm FTIR spectrum matching sounds complex, but the core is simple geometry: given a set of peak positions from an unknown sample, find the library spectra with the most matching peaks within a tolerance window (typically ±5 to ±15 cm⁻¹). What Claude helped with: Writing the initial peak-matching loop Setting up the Django project structure Designing the database schema for the spectral library What I handled: Understanding which tolerance values actually work (different wavenumber regions need different tolerances) Validating match results against known materials Rejecting the first three algorithm designs that looked correct on paper but failed on real data Lesson: AI can write the code faster than you can, but it can't tell you if the chemistry is right. Domain expertise is the bottleneck, not code. Step 2: Parsing FTIR Instrument Files This was the hardest technical challenge. FTIR instruments output data in at least 6 different formats: Format Origin Difficulty SPA Thermo Nicolet Medium — binary, proprietary S
Your MCP server works. But does anyone know it exists? We scored 39,762 MCP servers. 54% scored Grade C — solid code quality, zero community adoption. They're invisible to the AI agents that need them. Here's how to go from invisible to discovered. What Your Grade Actually Means Our scoring uses an additive model: Composite Grade = Quality Score (0-100) + Community Bonus (0-60) + Trust Bonus (0-30) Grade Score What it means B+ 86+ Very good — close to elite B 76-85 Good — your target C+ 66-75 OK — getting there C 46-65 Average — this is 54% of all tools D 21-45 Needs work F 0-20 Critical If you're at C, you're not failing. You just haven't been discovered yet. Step 1: Fix Your Quality Score (Quick Wins) Quality Score is 5 dimensions. Here are the fastest fixes: Token Efficiency (25%) Every token in your tool definition counts against the agent's context window. Bad: 500+ tokens OK: 200-350 tokens Good: 100-200 tokens Elite: ≤50 tokens Fix: Cut redundant parameters. Shorten descriptions. Use concise naming. Most tools can save 40-80 tokens in 15 minutes. Schema Correctness (25%) Agents need machine-readable schemas. Fix: Add a type field. Define properties . Include required fields. A well-structured schema can add 30+ points to your quality score instantly. Description Quality (20%) Write for AI agents AND humans. AI agents need clarity. Humans need to understand what your tool does at a glance. A good description serves both. ❌ Bad (confuses everyone): "PDF tool" ✅ Good (clear to both agents and humans): "Extracts text and tables from PDF files. Supports multi-page documents. Returns structured JSON with page numbers." ✅ Better (humans can instantly understand, agents can parse): "Extracts text and tables from PDF files. Example: extract_tables('report.pdf') → [{page: 1, rows: [[...]]}]. Supports multi-page documents." A human scanning GitHub repos decides in 3 seconds whether to try your tool. An AI agent scanning tool definitions decides in 3 milliseconds. Serve
I independently shipped my first open-source repo this week. The tool I built was a cli which accesses quickbooks online data. While Claude Code did speed up the build, it still took considerable effort shaping the entire user experience for the cli around the pre-existing public APIs! Major learnings during the entire process. Would also love additional feedback from open-source developers here.I'm currently looking for feedback from experienced open-source developers: Are there any improvements you'd suggest around project structure, documentation, testing, or contributor onboarding or the tool functionality? https://github.com/intuit/intuit-cli-for-quickbooks #
GitHub热门项目 | The library for web and native user interfaces. | Stars: 245,699 | 547 stars this week | 语言: JavaScript
You asked Claude Code to add pagination to your order history endpoint. It generated a clean function — listOrdersByUser() — using a DynamoDB Scan with a Limit parameter. It compiled. Tests passed. You shipped it. Three days later your AWS bill had a line item you didn't recognize: 47 million read capacity units consumed in 72 hours. The Orders table has 50M rows. Scan reads every one of them regardless of Limit — Limit only controls how many results come back, not how many items DynamoDB reads. Claude Code didn't know your table had 50M rows. It didn't know you had a GSI on userId . It guessed, and the guess was expensive. infrawise · npm What AI Assistants Don't Know About Your Infrastructure AI coding assistants read your source files. They understand function signatures, TypeScript types, and import chains. What they cannot see is the infrastructure those functions run against. When Claude Code looks at a file that calls dynamoClient.scan({ TableName: "Orders" }) , it has no idea that: The Orders table has 50M items There is already a GSI named userId-index on the userId attribute Three other functions are already using Query against that same GSI The Sessions table is accessed by 6 separate code paths, making it a hot partition candidate Without that context, the assistant fills the gap with generic patterns. It recommends Scan because it has no reason not to. It suggests adding a GSI on status because it doesn't know one exists. It writes SELECT * because it has no idea which columns are expensive to pull. This isn't a bug in the model. It's a missing input. The model was never given your infrastructure. What Happens When infrawise Is in the Loop infrawise statically analyzes your codebase, your DynamoDB tables, and your PostgreSQL schemas, then exposes that context to your editor through MCP. Claude Code gets 15 tools that answer questions like: which tables exist, what are their partition keys and sort keys, which GSIs are already defined, which functions ar
The Problem I was using Claude Code, Codex, and Cursor daily but had no idea how much I was spending on tokens. Bills kept surprising me. The Solution I built AIUsage — a local-first, open-source CLI that tracks everything. Key Features Token usage tracking with daily breakdowns Cost estimation with configurable pricing Model usage ranking Multi-device sync via GitHub or S3 Desktop widget How It Works bash npm install -g @juliantanx/aiusage aiusage parse aiusage serve Why Local-First? Your data never leaves your machine. No accounts, no API keys, no cloud servers. Try It [aiusage.jtanx.com](https://aiusage.jtanx.com)
If you've ever built a file upload feature, you've probably hit this: a user uploads a photo from their iPhone, and your app breaks. No preview, no compression, just a silent failure — because the file is .heic and browsers can't read it. HEIC is Apple's default photo format since iOS 11. Every iPhone photo taken today is HEIC. And virtually every JS image compression library just ignores the problem. I spent a weekend building PixSqueeze to fix that. The problem with HEIC in the browser Browsers use the <canvas> API to compress images. You draw the image onto a canvas, call canvas.toBlob() , and get a compressed file back. Clean, client-side, zero server cost. The problem: canvas.drawImage() only works if the browser can decode the image first. And no major browser can decode HEIC natively — not Chrome, not Firefox, not even Safari on macOS (Safari on iOS can, but that doesn't help your web app). So when a user picks a HEIC file, your image element fires onerror , your canvas stays blank, and your compression pipeline silently does nothing. The solution: server-side conversion, then client-side compression PixSqueeze handles this in two stages: Stage 1 — Server converts the format HEIC (and TIFF, camera RAW) files get sent to a small Express server. The server uses heic-convert running in a dedicated worker thread to convert to JPEG. Worker threads matter here — HEIC decoding is CPU-intensive WASM work, and running it on the main event loop would block every other request. Stage 2 — Client compresses the result The converted JPEG comes back to the browser, where the normal canvas-based compression pipeline takes over. Quality, resize, watermark hooks — all the usual options. The detection is important too. You can't just check file.type — iOS often sets HEIC files with an empty MIME type. PixSqueeze checks the ISO Base Media File Format magic bytes directly: async function isHeicFile ( file ) { const buffer = await file . slice ( 0 , 12 ). arrayBuffer (); const byt