{"id":"ijonis-geo-lint","name":"geo-lint","homepage":"https://ijonis.com","repo_url":"https://github.com/IJONIS/geo-lint","category":"ai-ml","subcategories":[],"tags":["seo","geo","linter","cli","typescript","markdown","mdx","content-quality","ai-agent-tools"],"what_it_does":"@ijonis/geo-lint is a Node.js/TypeScript CLI and programmatic linter for SEO + GEO (Generative Engine Optimization). It scans Markdown/MDX (and supports custom adapters for other content sources), reports structured violations as JSON (including file/field/line plus suggestion/fixStrategy), and can be used by AI agents to iteratively fix violations until the output is clean.","use_cases":["Lint and auto-fix SEO/GEO issues in Markdown/MDX content","Integrate deterministic content QA into CI pipelines","Provide structured violation output (JSON) for agent-driven remediation loops","Create/update geo-lint configuration and run rule-specific audits/reports","Extend linting to other CMS/content formats via custom adapters"],"not_for":["Real-time web crawling/hosting runtime validation","Security/compliance scanning of sensitive data","Authentication/authorization-protected APIs or SaaS workflows (appears to be local tooling only)","Batch processing of non-text/binary content without appropriate adapters"],"best_when":"You have a content repo (Node >= 18) with Markdown/MDX and want deterministic, agent-friendly lint rules with machine-readable fix suggestions.","avoid_when":"You need a hosted service with guaranteed uptime/SLA, or you require official REST/GraphQL/webhook interfaces; this appears to be primarily local CLI/library tooling.","alternatives":["Other SEO/content linters (e.g., remark/rehype based validators, Yoast-style checks where applicable)","Custom rule engines using markdown AST + link/schema validators","Paid GEO/SEO SaaS linters"],"af_score":62.2,"security_score":76.5,"reliability_score":27.5,"package_type":"skill","discovery_source":["openclaw"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:35:46.920549+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":false,"mcp_server_url":null,"has_sdk":true,"sdk_languages":["TypeScript","JavaScript","Node.js"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":[],"oauth":false,"scopes":false,"notes":"No authentication is described; it appears to be local tooling run via CLI/Node library."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing details in provided content; appears to be an MIT open-source package."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":62.2,"security_score":76.5,"reliability_score":27.5,"mcp_server_quality":0.0,"documentation_accuracy":80.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":100.0,"rate_limit_clarity":0.0,"tls_enforcement":50.0,"auth_strength":100.0,"scope_granularity":100.0,"dependency_hygiene":50.0,"secret_handling":70.0,"security_notes":"Primarily local tooling with no described network calls/auth. TLS enforcement is not applicable to typical local execution; score reflects lack of evidence about any remote fetching. Dependency list is very short in the provided manifest (gray-matter, jiti) but no CVE/security audit evidence is provided. No secret handling guidance is shown; assuming typical local CLI usage, but agents should avoid logging content that may include sensitive text.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":30.0,"error_recovery":45.0,"idempotency_support":"true","idempotency_notes":"Designed as deterministic linting; recommended workflow is re-run until violations hit zero. No explicit guarantee of perfect idempotency in the provided text, but the loop implies convergence to a clean state.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Agent must stop on empty JSON array [] per docs; if an agent ignores this, it may loop unnecessarily.","Auto-fixes may alter formatting/structure; agents should preserve author voice as recommended.","Custom adapters require correct mapping to ContentItem objects; incorrect adapters will lead to misleading violations."]}}