> ## Documentation Index
> Fetch the complete documentation index at: https://felimet-hub.jmcores.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Code Agent: AI Literacy Foundations

> An internal AI-literacy training built for lab partners. Treat configuration as a controllable engineering interface, build a working mental model of LLMs and agents, develop privacy and supply-chain risk awareness, and learn to judge tools independently.

export const ArchFlow = ({nodes = [], lang = "zh"}) => {
  const t = lang === "en" ? {
    flow: "Data flow",
    hint: "Click any stage to see what it does",
    stage: "Stage"
  } : {
    flow: "資料流",
    hint: "點任一階段看它做什麼",
    stage: "階段"
  };
  const safe = Array.isArray(nodes) ? nodes : [];
  const [active, setActive] = useState(0);
  if (safe.length === 0) return null;
  const idx = Math.min(active, safe.length - 1);
  const current = safe[idx];
  const css = `
  .af-root{--af-bg:#FAF8F3;--af-surface:rgba(191,117,81,0.06);--af-surface2:rgba(0,0,0,0.025);--af-border:rgba(0,0,0,0.09);--af-text:#2b2722;--af-dim:#6f6a62;--af-faint:#8a8378;--af-rail:rgba(0,0,0,0.12);--af-accent:#bf7551;border:1px solid var(--af-border);border-radius:14px;background:var(--af-bg);color:var(--af-text);overflow:hidden;}
  .dark .af-root{--af-bg:#1b1a18;--af-surface:rgba(207,138,104,0.09);--af-surface2:rgba(255,255,255,0.03);--af-border:rgba(255,255,255,0.08);--af-text:#e7e3da;--af-dim:#a8a299;--af-faint:#8a8378;--af-rail:rgba(255,255,255,0.13);--af-accent:#cf8a68;}
  .af-head{padding:13px 18px 11px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-bottom:1px solid var(--af-border);}
  .af-head-ic{color:var(--af-accent);flex-shrink:0;}
  .af-head-t{font-size:12px;font-weight:700;letter-spacing:.6px;color:var(--af-dim);text-transform:uppercase;}
  .af-head-h{font-size:12px;color:var(--af-faint);}
  .af-grid{display:flex;gap:0;align-items:stretch;}
  .af-list{flex:1 1 0;min-width:0;padding:12px 12px 16px;}
  .af-node{display:flex;align-items:stretch;gap:10px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;padding:0;color:inherit;font:inherit;-webkit-tap-highlight-color:transparent;}
  .af-railcol{width:22px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;}
  .af-dot{width:9px;height:9px;border-radius:50%;margin-top:14px;background:var(--af-faint);opacity:.5;flex-shrink:0;transition:background .15s,box-shadow .15s,opacity .15s;}
  .af-line{width:2px;flex:1 1 0;background:var(--af-rail);min-height:10px;}
  .af-body{flex:1 1 0;min-width:0;padding:9px 12px;margin:2px 0;border-radius:9px;border:1px solid transparent;transition:background .15s,border-color .15s;}
  .af-node:hover .af-body{background:var(--af-surface2);}
  .af-node-on .af-body{background:var(--af-surface);border-color:rgba(191,117,81,.30);}
  .af-node-on .af-dot{background:var(--af-accent);opacity:1;box-shadow:0 0 0 4px rgba(191,117,81,.15);}
  .af-label{font-size:14.5px;font-weight:550;line-height:1.45;}
  .af-node-on .af-label{color:var(--af-accent);}
  .af-detail{width:300px;flex-shrink:0;border-left:1px solid var(--af-border);padding:16px 18px;background:var(--af-surface2);}
  .af-detail-k{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--af-accent);margin-bottom:7px;}
  .af-detail-l{font-size:16px;font-weight:600;margin-bottom:9px;line-height:1.35;}
  .af-detail-d{font-size:13.5px;line-height:1.65;color:var(--af-dim);}
  @media (max-width:640px){.af-grid{flex-direction:column;}.af-detail{width:auto;border-left:none;border-top:1px solid var(--af-border);}}
  `;
  return <div className="af-root">
      <style>{css}</style>
      <div className="af-head">
        <svg className="af-head-ic" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><rect width="8" height="8" x="3" y="3" rx="2" /><path d="M7 11v4a2 2 0 0 0 2 2h4" /><rect width="8" height="8" x="13" y="13" rx="2" /></svg>
        <span className="af-head-t">{t.flow}</span>
        <span className="af-head-h">{t.hint}</span>
      </div>
      <div className="af-grid">
        <div className="af-list">
          {safe.map((n, i) => <button key={i} type="button" className={"af-node" + (i === idx ? " af-node-on" : "")} onClick={() => setActive(i)} onMouseEnter={() => setActive(i)}>
              <div className="af-railcol">
                <div className="af-dot" />
                {i < safe.length - 1 && <div className="af-line" />}
              </div>
              <div className="af-body">
                <div className="af-label">{n.label}</div>
              </div>
            </button>)}
        </div>
        <div className="af-detail">
          <div className="af-detail-k">{t.stage} {idx + 1} / {safe.length}</div>
          <div className="af-detail-l">{current.label}</div>
          <div className="af-detail-d">{current.detail}</div>
        </div>
      </div>
    </div>;
};

export const LearnerPrimer = ({items = [], lang = "zh"}) => {
  const t = lang === "en" ? {
    title: "Before this unit, be honest with yourself",
    sub: "If you can't answer these, that gap is exactly what this unit closes."
  } : {
    title: "讀這個單元前，先誠實面對",
    sub: "這幾題答不出來，正是這個單元要替你補的洞。"
  };
  const css = `
  .lp-root{--lp-bg:#FAF7F1;--lp-surface:rgba(191,117,81,0.05);--lp-border:rgba(0,0,0,0.09);--lp-edge:rgba(191,117,81,0.42);--lp-text:#2b2722;--lp-dim:#6f6a62;--lp-accent:#bf7551;border:1px solid var(--lp-border);border-left:3px solid var(--lp-edge);border-radius:13px;background:var(--lp-bg);color:var(--lp-text);overflow:hidden;margin:1.25rem 0;}
  .dark .lp-root{--lp-bg:#1b1a18;--lp-surface:rgba(207,138,104,0.07);--lp-border:rgba(255,255,255,0.08);--lp-edge:rgba(207,138,104,0.5);--lp-text:#e7e3da;--lp-dim:#a8a299;--lp-accent:#cf8a68;}
  .lp-head{display:flex;align-items:center;gap:9px;padding:13px 18px 11px;border-bottom:1px solid var(--lp-border);background:var(--lp-surface);}
  .lp-ic{color:var(--lp-accent);flex-shrink:0;}
  .lp-htx{display:flex;flex-direction:column;gap:1px;min-width:0;}
  .lp-title{font-size:14px;font-weight:650;line-height:1.3;letter-spacing:.01em;}
  .lp-sub{font-size:12px;color:var(--lp-dim);line-height:1.4;}
  .lp-list{list-style:none;margin:0;padding:10px 18px 14px;display:flex;flex-direction:column;gap:0;}
  .lp-item{display:flex;align-items:baseline;gap:11px;padding:7px 0;font-size:14px;line-height:1.6;border-top:1px solid var(--lp-border);}
  .lp-item:first-child{border-top:none;}
  .lp-mark{flex-shrink:0;color:var(--lp-accent);font-size:13px;font-weight:700;line-height:1.55;font-variant-numeric:tabular-nums;opacity:.85;}
  .lp-q{flex:1 1 0;min-width:0;color:var(--lp-text);}
  @media (max-width:620px){.lp-head{padding:12px 14px 10px;}.lp-list{padding:8px 14px 12px;}}
  `;
  return <div className="lp-root">
      <style>{css}</style>
      <div className="lp-head">
        <svg className="lp-ic" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><circle cx="12" cy="12" r="10" /><circle cx="12" cy="12" r="6" /><circle cx="12" cy="12" r="2" /></svg>
        <span className="lp-htx">
          <span className="lp-title">{t.title}</span>
          <span className="lp-sub">{t.sub}</span>
        </span>
      </div>
      <ul className="lp-list">
        {items.map((q, i) => <li className="lp-item" key={i}>
            <span className="lp-mark">{String(i + 1).padStart(2, "0")}</span>
            <span className="lp-q">{q}</span>
          </li>)}
      </ul>
    </div>;
};

This is an **internal AI-literacy training built for lab partners**. It is aimed at engineering-minded colleagues who already use AI in their work, development, and research (vibe coding) but have not yet systematically understood the configuration and mechanics. The goal is not to teach you how to launch a tool, but how to use it **correctly**: understand how it works, treat configuration as a controllable engineering interface, and build the judgment to evaluate tools on your own.

<LearnerPrimer
  lang="en"
  items={[
"You bought the AI but can't use it: where did your time actually go?",
"It's not that AI doesn't work; you just haven't figured out what you're doing.",
"Tools all bought, still grinding by hand: the problem really isn't the tool.",
"Do you actually need AI, or are you just using it to reassure yourself?",
"Once AI advances far enough, you can't understand it from zero, so keep up.",
]}
/>

## The core claim

Most engineering-minded users are stuck on one gap: **"using AI" is not the same as "using AI correctly".** Treating the chat box as a souped-up search engine and the coding agent as a clairvoyant autocomplete gives you fluctuating output quality, runaway context, silent errors born of blind trust, and a personalized experience nobody on the team can reproduce.

The stance: **modern AI tools are engineering systems that can be configured, constrained, and automated, and configuration itself is the leverage.** The same model, with or without `CLAUDE.md`, Skills, Hooks, and correct privacy settings, produces output that differs by orders of magnitude. This training pulls that "configuration and mental model" layer into the open.

<Info>
  The primary reference is the **Anthropic Claude family** (Claude.ai, Claude Cowork, Claude Code), covered in depth; other tools (OpenAI, Google, GitHub Copilot, Cursor) appear as comparisons. Tool-configuration details were verified as of **2026-05**; every fast-moving item is marked with its source and as-of date.
</Info>

## Four learning dimensions

<ArchFlow
  lang="en"
  nodes={[
{ label: "Part I Foundations", detail: "Conceptual mental model: build intuition for how LLMs and agents work, plus the full picture of the four engineering layers (prompt / context / workflow / harness)." },
{ label: "Part II Configuration", detail: "Per-tool practice, Claude-first: the configuration layer model, settings.json, claude.json, the four mechanisms, and cross-tool comparison." },
{ label: "Part III Judgment", detail: "Independent evaluation: tool fit, getting past star counts, security and supply-chain risk, personal benchmarks. This dimension runs through everything; after each setting, return and ask whether it is actually useful to you." },
{ label: "Part IV Customization", detail: "Build your own: the .claude directory map, CLAUDE.md, rules, commands, Skills, Subagents, Hooks, Plugins, MCP, CLI-first, Agent Teams." },
{ label: "Part V Agentic case studies", detail: "Dissecting OpenClaw, Hermes-Agent, and NemoClaw, plus a three-way route comparison. What you learn here feeds back and refines the Part I mental model." },
]}
/>

The dimensions are not linear. Part III (judgment) runs through all of it: on a first pass, read I → II → III → IV, but in practice, every time you learn a setting, return to III and ask "is this actually useful to me?"

## How to read: three routes

Different partners start from different places, so here are three reading routes.

<Note>
  **Route A: by dimension, in order (default, for systematic learning)**

  01-1 → 01-2 → … → Part II → Part III → Part IV. Build the full mental model first, then start configuring.
</Note>

<Note>
  **Route B: by tool (for "I only use one tool")**

  Read 02-1 (the layer model) first to build a general frame, then jump to 02-2 (if you use Claude) or the 02-6 comparison table to find your tool, then fill in 03-3 (security and privacy) and 04-2 (writing rule files).
</Note>

<Note>
  **Route C: by pain point (for those already using it, wanting to fix something specific)**

  "Unstable output" → 01-4 + 04-1; "not sure whether to install a Skill" → 03-1 + 03-2; "worried about data leakage" → 03-3 + Appendix B; "want to automate a repetitive flow" → 04-4 + 04-6.
</Note>

## Content map

<CardGroup cols={3}>
  <Card title="Part I Foundations" icon="brain" href="/en/code-agent/foundations/why-correct-usage">
    7 units: from "why correct usage" through the four engineering layers (prompt / context / workflow / harness) to the 2026 tool landscape.
  </Card>

  <Card title="Part II Configuration" icon="settings" href="/en/code-agent/configuration/config-layer-model">
    6 units: the layer model, the Claude family, settings.json, claude.json, the four mechanisms, cross-tool comparison.
  </Card>

  <Card title="Part III Judgment" icon="scale" href="/en/code-agent/judgment/fit-evaluation">
    4 units: tool fit, beyond GitHub stars, security and supply-chain risk, personal benchmarks.
  </Card>

  <Card title="Part IV Customization" icon="wrench" href="/en/code-agent/customization/claude-directory-reference">
    12 units: opens with the full .claude directory map, then CLAUDE.md, rules, commands, Skills, Subagents, Hooks, Plugins, MCP, CLI-first, and Agent Teams in depth.
  </Card>

  <Card title="Part V Case Studies" icon="microscope" href="/en/code-agent/case-studies/openclaw">
    4 units: OpenClaw, Hermes-Agent, and NemoClaw dissected, plus a three-way route comparison.
  </Card>

  <Card title="Appendix" icon="paperclip" href="/en/code-agent/appendix/settings-cheatsheet">
    Settings cheat sheet, privacy and security checklist, glossary, further resources.
  </Card>
</CardGroup>

### Part I: Foundations

* [01-1 Why use AI tools "correctly"](/en/code-agent/foundations/why-correct-usage)
* [01-2 How LLMs and agents work](/en/code-agent/foundations/llm-agent-basics)
* [01-3 Prompt engineering](/en/code-agent/foundations/prompt-engineering)
* [01-4 Context engineering](/en/code-agent/foundations/context-engineering)
* [01-5 Workflow engineering](/en/code-agent/foundations/workflow-engineering)
* [01-6 Harness engineering](/en/code-agent/foundations/harness-engineering)
* [01-7 The 2026 AI tool landscape](/en/code-agent/foundations/tool-landscape-2026)

### Part II: Configuration

* [02-1 The configuration layer model](/en/code-agent/configuration/config-layer-model)
* [02-2 Anthropic Claude setup: Chat, Cowork, Code](/en/code-agent/configuration/anthropic-claude-setup)
* [02-3 settings.json and settings.local.json](/en/code-agent/configuration/settings-json)
* [02-4 claude.json: what it stores and why you should know it](/en/code-agent/configuration/claude-json)
* [02-5 Skills / Hooks / Subagents / Plugins: mechanism overview](/en/code-agent/configuration/skills-hooks-subagents-plugins)
* [02-6 Configuration across other tools](/en/code-agent/configuration/other-tools-comparison)

### Part III: Judgment

* [03-1 Judging whether a tool or Skill fits you](/en/code-agent/judgment/fit-evaluation)
* [03-2 An evaluation framework beyond GitHub stars](/en/code-agent/judgment/beyond-github-stars)
* [03-3 Security, privacy, and supply-chain risk](/en/code-agent/judgment/security-privacy-supply-chain)
* [03-4 Building personal benchmarks and verification habits](/en/code-agent/judgment/personal-benchmark)

### Part IV: Customization, integration, and automation

* [04-0 The .claude directory: a complete map](/en/code-agent/customization/claude-directory-reference)
* [04-1 CLAUDE.md and memory files](/en/code-agent/customization/claude-md-memory)
* [04-2 rules: modular rule files](/en/code-agent/customization/rules)
* [04-3 Commands (slash commands)](/en/code-agent/customization/commands)
* [04-4 Skills: purpose, format, authoring](/en/code-agent/customization/skills)
* [04-5 Subagents: purpose, format, authoring](/en/code-agent/customization/subagents)
* [04-6 Hooks: what they are and every trigger point](/en/code-agent/customization/hooks)
* [04-7 Using Plugins properly](/en/code-agent/customization/plugins)
* [04-8 Vendor built-in tools and features](/en/code-agent/customization/vendor-builtin-tools)
* [04-9 Cross-tool integration and MCP](/en/code-agent/customization/mcp-integration)
* [04-10 CLI first: how CLI and MCP differ](/en/code-agent/customization/cli-first-vs-mcp)
* [04-11 Agent Teams vs Subagents](/en/code-agent/customization/team-vs-subagent)

### Part V: Agentic case studies

* [05-1 OpenClaw anatomy](/en/code-agent/case-studies/openclaw)
* [05-2 Hermes-Agent anatomy](/en/code-agent/case-studies/hermes-agent)
* [05-3 NemoClaw anatomy](/en/code-agent/case-studies/nemoclaw)
* [05-4 Three routes compared](/en/code-agent/case-studies/three-approaches-comparison)

### Appendix

* [Appendix A: settings cheat sheet](/en/code-agent/appendix/settings-cheatsheet)
* [Appendix B: privacy and security checklist](/en/code-agent/appendix/privacy-security-checklist)
* [Appendix C: glossary](/en/code-agent/appendix/glossary)
* [Appendix D: further resources](/en/code-agent/appendix/resources)

<Tip>
  Don't read everything before acting. After each Part II configuration unit, do it once on your own tool, then return to Part III and ask "is this actually useful to me?" The value of configuration only proves out inside your real workflow.
</Tip>
