{"uid":"cap_b3agSeJbS0elHbZempBDh","slug":"elixir-static-linter-debugger-7dfcdb22","name":"Elixir Static Linter & Debugger","description":"Elixir lint / debug kit: POST {code}, get the bugs back with line numbers. Deterministic static analysis — code is parsed, never executed, no AI. Catches unbalanced do/end and brackets, missing do, 'return', '+' string concat, trailing commas, field assignment, = vs == in conditions and guards, block-scoped rebinding (the classic), charlist vs String mixups, unused variables. Errors, warnings and hints with fixes. Max 128 KB.","url":"https://api.webbersites.com/api/lint/elixir","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"required":["code"],"properties":{"code":{"type":"string","description":"Elixir source to lint, max 128 KB"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"counts":{"type":"object"},"issues":{"type":"array"},"syntax":{"type":"object"},"verdict":{"type":"string"},"language":{"type":"string"}}}}}}},"responseSchema":{"type":"json","example":{"counts":{"info":0,"error":0,"warning":1},"issues":[{"hint":"bind the block's result instead: result = if ... do ... else ... end","line":4,"rule":"scope/rebind-in-block","message":"'result = ...' inside this block does not change 'result' outside it (first bound on line 2)","severity":"warning"}],"syntax":{"ok":true,"errors":[]},"verdict":"warnings","language":"elixir"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_3rIZWZNUChBFryQwCH9cD","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Statically analyzes Elixir source code and returns bugs, warnings, and hints with line numbers — no code execution, fully deterministic.","exampleAgentPrompt":"Can you lint this Elixir code for me and tell me exactly which lines have bugs, warnings, or bad patterns like mismatched do/end, = used instead of == in a condition, or string concat with +?","exampleUseCases":[{"title":"Pre-commit hook for team code quality","prompt":"Before I push this Elixir module, run a static analysis and flag any syntax errors, mismatched brackets, or logic bugs like = instead of == in guards so I don't merge broken code."},{"title":"CI pipeline validation for Elixir services","prompt":"Check all our Elixir source files for common mistakes—unused variables, string concatenation errors, missing do blocks, charlist vs String mixups—and give me line numbers so our CI can fail fast if there are issues."},{"title":"Debug Elixir code without execution risk","prompt":"I have a complex Elixir function that feels buggy but I don't want to run it yet. Analyze it for unbalanced do/end, block-scoped rebinding, trailing commas, and field assignment errors, then tell me exactly what to fix."}],"resultDescription":"A structured list of errors, warnings, and hints found in the submitted Elixir source code, each with a line number, description of the issue, and suggested fix. Covers unbalanced do/end and brackets, missing do, use of 'return', '+' for string concat, trailing commas, field assignment errors, = vs == in conditions/guards, block-scoped rebinding, charlist vs String mixups, and unused variables.","failureModes":["Code exceeds 128 KB limit — request rejected","Malformed JSON body — 400 error","Non-Elixir or completely unparseable input — may return empty results or parse error","Network timeout on very large payloads near the size limit"],"whenToPreferThis":"Choose this endpoint when you need fast, deterministic, offline-safe Elixir static analysis without any AI inference or code execution. Ideal for CI pipelines, pre-commit hooks, or agent workflows that need reliable line-level bug detection in Elixir code without runtime risk.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:30:22.803Z","isFirstParty":false}