{"id":50896474,"url":"https://github.com/kako-jun/know-it-break-it","last_synced_at":"2026-06-16T00:35:30.503Z","repository":{"id":351221362,"uuid":"1210075049","full_name":"kako-jun/know-it-break-it","owner":"kako-jun","description":"Bilingual site teaching the evaluation criteria of creative fields (art, music, comedy, manga, film) so you can break them on purpose","archived":false,"fork":false,"pushed_at":"2026-05-18T02:11:45.000Z","size":94,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T00:34:56.211Z","etag":null,"topics":["astro","cloudflare-pages","creativity","i18n","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":null,"language":"Astro","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kako-jun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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},"funding":{"github":["kako-jun"]}},"created_at":"2026-04-14T04:07:06.000Z","updated_at":"2026-06-02T05:17:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"e577500c-d578-4ecc-9950-88712568362d","html_url":"https://github.com/kako-jun/know-it-break-it","commit_stats":null,"previous_names":["kako-jun/know-it-break-it"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kako-jun/know-it-break-it","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kako-jun%2Fknow-it-break-it","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kako-jun%2Fknow-it-break-it/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kako-jun%2Fknow-it-break-it/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kako-jun%2Fknow-it-break-it/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kako-jun","download_url":"https://codeload.github.com/kako-jun/know-it-break-it/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kako-jun%2Fknow-it-break-it/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34386320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["astro","cloudflare-pages","creativity","i18n","tailwindcss","typescript"],"created_at":"2026-06-16T00:35:29.810Z","updated_at":"2026-06-16T00:35:30.497Z","avatar_url":"https://github.com/kako-jun.png","language":"Astro","funding_links":["https://github.com/sponsors/kako-jun"],"categories":[],"sub_categories":[],"readme":"# know-it-break-it\n\n**あたまのネジとはずしかた**\n\nKnow It. Break It.\n\n型を知って、武器にしろ。\n\n## Concept\n\nプロが見ているポイントがある。それは言語化できる。型を知らずに破っても、それはただの無知だ。型を知って破って初めて、それが個性になる。\n\n## Domains\n\n5 ドメイン × 各 3 評価軸（合計 15 軸）。実体は `src/lib/criteria.ts` を正本とする。\n\n- 美術 — 構図 / 象徴 / 色彩\n- 音楽 — コード進行 / 転調 / 外し\n- 漫才 — 転回 / 普遍性 / タイムオーバー\n- 漫画 — 編集者の評価軸 / 持ち込みの壁 / コマ割り\n- 映画 — ストーリー構造 / ペーシング / キャラクター変容\n\n各評価軸には ja / en の `label` / `description` / `examples` が付き、トップページ (`/[lang]/`) で全ドメインを動的に展開して表示する。\n\n## Tech\n\n- Astro 5 + TypeScript + Tailwind CSS\n- pnpm (パッケージマネージャ)\n- Cloudflare Pages（デプロイ予定）\n- AI 生成コンテンツ + 人間確認 + 静的記事\n- 正解のあるクイズ（schema は確保済み、本実装は別 Issue）\n- 404 ページは `src/pages/404.astro`（ja / en 併記）\n- Footer はファミリーサイト（osaka-kenpo / gilga / break-and-shift）へのリンクを含む\n\n## i18n\n\n- `/ja/` — 日本語（デフォルト）\n- `/en/` — English\n- 言語切り替えUIは全ページに表示\n- 記事も `lang` フィールドで言語別管理\n- 記事詳細の言語切り替えは同じ正規化 slug の翻訳記事へ移動する\n- 翻訳記事が未作成の場合、404 を避けるため相手言語の記事一覧へ移動する\n- SEO 用 `rel=\"alternate\"` は翻訳記事が存在する場合のみ出力する\n\n## Content Guidelines\n\n### 記事ファイル命名規約\n\n- 日本語記事: `{slug}.md`（例: `sample.md`）\n- 英語記事: `{slug}-en.md`（例: `sample-en.md`）\n- `lang` frontmatter とファイル名サフィックスを一致させること\n- URL スラグからは言語サフィックスが除去される（`sample-en` → `/en/articles/sample/`）\n\n### 多言語コンテンツの追加\n\n1. `locales`（`src/lib/i18n.ts`）に言語を追加\n2. `domainLabels` / `difficultyLabels` / `uiLabels` に該当言語のラベルを追加\n3. 記事ファイルを `{slug}-{lang}.md` 形式で作成\n4. frontmatter の `lang` を該当言語に設定\n\n### 記事 frontmatter\n\n`src/content/config.ts` で定義。新規記事は `src/content/templates/article.md` をコピーして書き始める。\n\n| key            | 必須 | 説明                                                                                 |\n| -------------- | ---- | ------------------------------------------------------------------------------------ |\n| `title`        | yes  | 記事タイトル                                                                         |\n| `domain`       | yes  | `art` / `music` / `manzai` / `manga` / `movie`                                       |\n| `difficulty`   | yes  | `beginner` / `intermediate` / `advanced`                                             |\n| `tags`         | yes  | 自由タグの配列                                                                       |\n| `lang`         | yes  | `ja` / `en`（デフォルト `ja`）                                                       |\n| `publishedAt`  | yes  | 公開日                                                                               |\n| `updatedAt`    | no   | 更新日                                                                               |\n| `description`  | yes  | 一覧・SEO 用の 1〜2 文                                                               |\n| `criteria`     | no   | この記事が扱う評価軸 key 配列。`src/lib/criteria.ts` の domain ごとの key と紐付ける |\n| `quiz.enabled` | no   | クイズ機能フラグ（本実装は別 Issue）                                                 |\n\n## Dev\n\n```bash\npnpm install\npnpm dev\n```\n\n### テスト\n\n```bash\npnpm test:unit\n```\n\n### ビルド\n\n```bash\npnpm build\n```\n\n## Related Projects\n\n- [大阪けんぽう](https://github.com/kako-jun/osaka-kenpo) — 法律の暗黙知\n- [gilga](https://github.com/kako-jun/gilga) — 悪意の暗黙知\n- [break-and-shift](https://github.com/kako-jun/break-and-shift) — 確率の暗黙知\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkako-jun%2Fknow-it-break-it","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkako-jun%2Fknow-it-break-it","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkako-jun%2Fknow-it-break-it/lists"}