{"adoption": {"forks": 453, "observed_at": "2026-08-28T04:05:28.905169+00:00", "stars": 1734}, "canonical_url": "https://ross.abutalabs.com/products/ai-coding-guide", "card": {"archived": false, "artifact_type": "learning-resource", "description": "「可能是全网最全的」📘 面向小白的 AI 编程 CLI 中文教程：Claude Code + Codex 92 篇精修", "domain": ["tutorials", "developer-tools", "large-language-models"], "enriched": true, "function": ["documentation", "cli", "developer-tools"], "health_score": 80, "homepage": "https://coding.stormzhang.ai", "language": null, "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["stormzhang/ai-coding-guide"], "name": "stormzhang/ai-coding-guide", "platform": ["cli", "cross-platform"], "pushed_at": "2026-08-25T15:18:53+00:00", "repo": "stormzhang/ai-coding-guide", "stars": 1734, "tags": ["chinese-tutorial", "claude-code", "codex", "ai-coding", "beginner-friendly", "llm-tools", "command-line", "ai-agents"], "topics": ["agent", "ai-coding", "anthropic", "chinese-tutorial", "claude-code", "cli", "codex", "llm", "openai", "tutorial"], "urls": [], "use_cases": ["learn how to install and use Claude Code from scratch", "learn OpenAI Codex CLI as a complete beginner", "understand MCP, subagents, skills, and hooks in Claude Code", "configure API keys vs subscription login for AI coding tools", "set up AGENTS.md and config.toml for Codex", "learn prompting and context management for AI coding assistants", "integrate Claude Code with VS Code or JetBrains"], "what_it_is": "A comprehensive Chinese-language tutorial collection (92 articles, ~520k words) teaching beginners how to use AI coding CLI tools, primarily OpenAI Codex and Anthropic Claude Code. It is verified against official documentation and includes runnable commands, expected outputs, and original illustrations.", "when_to_avoid": ["you need English-language documentation", "you want an interactive course or video tutorials rather than written articles", "you are already an advanced user seeking only reference material"], "when_to_choose": ["you are a Chinese-speaking beginner wanting a structured, verified guide to AI coding CLIs", "you prefer tutorials with runnable commands and real-world experience notes", "you want deep coverage of both Codex and Claude Code in one place"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ai-coding-guide", "repo": "stormzhang/ai-coding-guide", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.905169+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:31:26.656152+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9a180bd378d7a5e62ac12ce78e4a513759b8cf33bcef5ac50391732afbfcd54b", "fetched_at": "2026-08-28T04:05:28.905169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/stormzhang/ai-coding-guide"}, {"content_hash": "aeecb529c61617361677dd1022301b44c2b1f1ddc715aa4c327acb4a165963b1", "fetched_at": "2026-08-29T11:08:30.671223+00:00", "kind": "homepage", "missing": false, "url": "https://coding.stormzhang.ai"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4611, "days_push": 8, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}