{"id":34209414,"url":"https://github.com/shinagawa-web/gomarklint","last_synced_at":"2026-05-27T00:05:36.916Z","repository":{"id":300661115,"uuid":"1005242551","full_name":"shinagawa-web/gomarklint","owner":"shinagawa-web","description":"A fast and configurable Markdown linter written in Go","archived":false,"fork":false,"pushed_at":"2026-04-17T11:02:27.000Z","size":5689,"stargazers_count":12,"open_issues_count":7,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-17T11:12:03.570Z","etag":null,"topics":["cli","go","link-checker","linter","linting","markdown","markdown-lint","static-analysis"],"latest_commit_sha":null,"homepage":"https://shinagawa-web.github.io/gomarklint/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shinagawa-web.png","metadata":{"files":{"readme":"README.ja.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-19T23:13:22.000Z","updated_at":"2026-04-17T11:02:29.000Z","dependencies_parsed_at":"2026-02-11T03:15:40.115Z","dependency_job_id":null,"html_url":"https://github.com/shinagawa-web/gomarklint","commit_stats":null,"previous_names":["shinagawa-web/gomarklint"],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/shinagawa-web/gomarklint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinagawa-web%2Fgomarklint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinagawa-web%2Fgomarklint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinagawa-web%2Fgomarklint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinagawa-web%2Fgomarklint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shinagawa-web","download_url":"https://codeload.github.com/shinagawa-web/gomarklint/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinagawa-web%2Fgomarklint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32088913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T06:27:27.065Z","status":"ssl_error","status_checked_at":"2026-04-21T06:27:21.250Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","go","link-checker","linter","linting","markdown","markdown-lint","static-analysis"],"created_at":"2025-12-15T20:40:37.117Z","updated_at":"2026-05-27T00:05:36.910Z","avatar_url":"https://github.com/shinagawa-web.png","language":"Go","funding_links":[],"categories":["Code Analysis"],"sub_categories":["Routers"],"readme":"# gomarklint\n\n![Test](https://github.com/shinagawa-web/gomarklint/actions/workflows/test.yml/badge.svg)\n[![codecov](https://codecov.io/gh/shinagawa-web/gomarklint/graph/badge.svg?token=5MGCYZZY7S)](https://codecov.io/gh/shinagawa-web/gomarklint)\n[![Go Report Card](https://goreportcard.com/badge/github.com/shinagawa-web/gomarklint)](https://goreportcard.com/report/github.com/shinagawa-web/gomarklint)\n[![Go Reference](https://pkg.go.dev/badge/github.com/shinagawa-web/gomarklint.svg)](https://pkg.go.dev/github.com/shinagawa-web/gomarklint)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/shinagawa-web/gomarklint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/shinagawa-web/gomarklint)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/12970/badge)](https://www.bestpractices.dev/projects/12970)\n\n[English](README.md) | 日本語\n\n\u003ca href=\"https://gyazo.com/a5f8265a0865e5a37dc83733ca61069a\"\u003e\u003cimg src=\"https://i.gyazo.com/a5f8265a0865e5a37dc83733ca61069a.gif\" width=\"800\" alt=\"Demo\"\u003e\u003c/a\u003e\n\n\u003e リンク切れをユーザーより先に発見。内部アンカーはデフォルトで検証、外部 URL は `external-link` を有効化して検証。**100,000 行以上を約 170ms** で処理。シングルバイナリで Node.js 不要。\n\n**かんたんインストール**（macOS / Linux）:\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/shinagawa-web/gomarklint/main/install.sh | sh\n```\n\n**バイナリをダウンロード**（Go 環境不要）:\n\n[GitHub Releases](https://github.com/shinagawa-web/gomarklint/releases/latest) からお使いのプラットフォーム向けバイナリをダウンロードできます。\n\n```sh\n# macOS / Linux\ntar -xzf gomarklint_Darwin_x86_64.tar.gz\nsudo mv gomarklint /usr/local/bin/\n# sudo が使えない場合はユーザーローカルへ\nmkdir -p ~/.local/bin \u0026\u0026 mv gomarklint ~/.local/bin/\n```\n\n```powershell\n# Windows (PowerShell)\nExpand-Archive -Path gomarklint_Windows_x86_64.zip -DestinationPath \"$env:LOCALAPPDATA\\Programs\\gomarklint\"\n# PATH に追加（初回のみ）\n[Environment]::SetEnvironmentVariable(\"PATH\", $env:PATH + \";$env:LOCALAPPDATA\\Programs\\gomarklint\", \"User\")\n```\n\n**Homebrew を使う場合:**\n\n```sh\nbrew install shinagawa-web/tap/gomarklint\n```\n\n**npm を使う場合:**\n\n```sh\nnpm install -g @shinagawa-web/gomarklint\n```\n\n**`go install` を使う場合:**\n\n```sh\ngo install github.com/shinagawa-web/gomarklint/v3@latest\n```\n\n- リンク切れをユーザーより先に発見 — 内部アンカーはデフォルトで検証。`external-link` を有効化すると外部 URL も検証。\n- **100,000 行以上を約 170ms** で処理 — JIT ウォームアップなし、ランタイムオーバーヘッドなし。\n- 予測可能な構造を強制（「なぜ H2 の下に H4 があるの？」をなくす）。\n- 人間にも機械にも優しい出力（JSON 対応）。\n\n## CI 連携\n\n### GitHub Actions\n\n```yaml\nname: gomarklint\n\non:\n  push:\n  pull_request:\n\njobs:\n  lint:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: shinagawa-web/gomarklint-action@v1\n        with:\n          args: '.'\n```\n\nオプションの詳細: [gomarklint-action](https://github.com/shinagawa-web/gomarklint-action)\n\n### pre-commit\n\n`.pre-commit-config.yaml` に追加:\n\n```yaml\nrepos:\n  - repo: https://github.com/shinagawa-web/gomarklint\n    rev: v3.0.0\n    hooks:\n      - id: gomarklint\n```\n\n## ドキュメント\n\n完全なドキュメントは **[shinagawa-web.github.io/gomarklint](https://shinagawa-web.github.io/gomarklint/)** で参照できます。\n\n- [クイックスタート](https://shinagawa-web.github.io/gomarklint/docs/quick-start/)\n- [ルール一覧](https://shinagawa-web.github.io/gomarklint/docs/rules/)\n- [CLI リファレンス](https://shinagawa-web.github.io/gomarklint/docs/cli/)\n- [設定](https://shinagawa-web.github.io/gomarklint/docs/configuration/)\n- [GitHub Actions 連携](https://shinagawa-web.github.io/gomarklint/docs/github-actions/)\n- [FAQ \u0026 トラブルシューティング](https://shinagawa-web.github.io/gomarklint/docs/faq/)\n\n## コントリビュート\n\nIssue・提案・PR 歓迎です！\n\n必要環境: Go `1.22+`（最新の安定版を推奨）\n\n```sh\nmake test      # ユニットテスト\nmake test-e2e  # エンドツーエンドテスト\nmake build     # バイナリビルド\n```\n\n### Git フック\n\nプッシュ前に自動でlintとユニットテストを実行するpre-pushフックをインストールできます：\n\n```sh\nmake install-hooks\n```\n\n緊急時にフックをスキップする場合：\n\n```sh\ngit push --no-verify\n```\n\n## ライセンス\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshinagawa-web%2Fgomarklint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshinagawa-web%2Fgomarklint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshinagawa-web%2Fgomarklint/lists"}