[{"data":1,"prerenderedAt":373},["ShallowReactive",2],{"academy-module-lessons":3},[4,95,222],{"id":5,"title":6,"body":7,"description":82,"draft":83,"estimatedMinutes":84,"extension":85,"meta":86,"module":87,"moduleOrder":88,"moduleTitle":89,"navigation":90,"order":88,"path":91,"seo":92,"stem":93,"__hash__":94},"academy\u002Facademy\u002Ffoundations\u002F01-what-is-agentic.md","What Is Agentic Development?",{"type":8,"value":9,"toc":73},"minimark",[10,15,19,22,26,34,37,41,44,51,55,62,66],[11,12,14],"h2",{"id":13},"the-shift-nobody-prepared-you-for","The shift nobody prepared you for",[16,17,18],"p",{},"Copilot autocompletes a line. An agent executes a plan.",[16,20,21],{},"That difference sounds small. It is not. When your AI can read files, run commands, write and test code, and call external APIs — often without you touching the keyboard for minutes at a time — the relationship between developer and tool changes fundamentally. You are no longer the sole author of every edit. You are a reviewer, a spec holder, and sometimes a firefighter when the agent drifts.",[11,23,25],{"id":24},"from-suggestion-to-delegation","From suggestion to delegation",[16,27,28,29,33],{},"Classic IDE assistance stays inside the current file and the current moment. Agentic tools carry ",[30,31,32],"strong",{},"intent across steps",": they can try an approach, see a failing test, adjust, and try again. That loop is powerful and dangerous. Powerful because it removes boilerplate and speeds exploration. Dangerous because each step can introduce subtle wrong assumptions that compound.",[16,35,36],{},"Engineering with agents still requires the same mental model you use for junior contributors: clear goals, verifiable outcomes, and boundaries on what “done” means. The difference is scale. A junior might need a day to refactor a module. An agent might do it in ten minutes — including the wrong abstraction you did not notice until production.",[11,38,40],{"id":39},"what-agentic-is-not","What “agentic” is not",[16,42,43],{},"It is not “the model writes all the code so I can disengage.” It is not unlimited trust in tool output. It is not a replacement for architecture, security review, or product judgment.",[16,45,46,47,50],{},"Healthy agentic development treats the agent as a ",[30,48,49],{},"high-throughput collaborator"," that needs the same constraints you would give a human: access rules, style guides, tests that fail loudly, and specs that say what not to change.",[11,52,54],{"id":53},"why-standards-matter-more-not-less","Why standards matter more, not less",[16,56,57,58,61],{},"When edits arrive in large batches, diff fatigue is real. Without standards — naming, error handling, testing discipline — you either rubber-stamp garbage or burn out reviewing every line. The teams that win set ",[30,59,60],{},"quality gates"," up front: linters, type checks, CI, and explicit “definition of done” in the task itself.",[11,63,65],{"id":64},"how-you-will-work-through-this-academy","How you will work through this Academy",[16,67,68,69,72],{},"The following modules build a single pipeline: understand the tools, ",[30,70,71],{},"prep before prompting",", enforce quality, manage context, align teams, then push into advanced patterns. The through-line is simple: agents amplify whatever process you already have. Make that process intentional.",{"title":74,"searchDepth":75,"depth":75,"links":76},"",2,[77,78,79,80,81],{"id":13,"depth":75,"text":14},{"id":24,"depth":75,"text":25},{"id":39,"depth":75,"text":40},{"id":53,"depth":75,"text":54},{"id":64,"depth":75,"text":65},"Understanding the shift from copilot to autonomous agent — and why it changes everything about how you work.",false,8,"md",{},"foundations",1,"Foundations",true,"\u002Facademy\u002Ffoundations\u002F01-what-is-agentic",{"title":6,"description":82},"academy\u002Ffoundations\u002F01-what-is-agentic","6UHuGEzkIrzSGEFTpFCY2Dlt2wdjGkQCTTU_Y0ouOo8",{"id":96,"title":97,"body":98,"description":215,"draft":83,"estimatedMinutes":216,"extension":85,"meta":217,"module":87,"moduleOrder":88,"moduleTitle":89,"navigation":90,"order":75,"path":218,"seo":219,"stem":220,"__hash__":221},"academy\u002Facademy\u002Ffoundations\u002F02-tool-landscape.md","The Tool Landscape",{"type":8,"value":99,"toc":209},[100,104,111,117,127,133,137,152,159,163,166,191,198,202],[11,101,103],{"id":102},"three-layers-of-assistance","Three layers of assistance",[16,105,106,107,110],{},"Most teams juggle ",[30,108,109],{},"at least three ideas",": inline completion in the editor, chat that reasons across files, and autonomous agents that run terminals and multi-step tasks. Vendors blur the lines every quarter, but the mental model still helps.",[16,112,113,116],{},[30,114,115],{},"Inline completion"," (classic Copilot-style) is best for local edits: finishing a line, sketching a small function from a comment, repeating patterns you already established. It fails when the change needs repo-wide consistency or a test plan — it simply does not hold enough context or intent.",[16,118,119,122,123,126],{},[30,120,121],{},"Chat in the IDE"," adds breadth: you can paste errors, ask for refactors, and iterate on explanations. It is still usually ",[30,124,125],{},"reactive"," — you drive each turn. Good for learning, debugging, and medium-sized edits when you stay in the loop.",[16,128,129,132],{},[30,130,131],{},"Agentic runners"," (Cursor agent mode, Claude Code, and similar) treat the session as a workspace: they read multiple files, propose commands, and chain steps. That is where prep-first work pays off: without a spec, they optimize for “something that runs,” not “something that belongs in your codebase.”",[11,134,136],{"id":135},"what-to-use-when","What to use when",[16,138,139,140,143,144,147,148,151],{},"Use ",[30,141,142],{},"completion"," when you are in flow inside one file and the pattern is obvious. Use ",[30,145,146],{},"chat"," when you need reasoning, comparisons, or a second pair of eyes on an error message. Use ",[30,149,150],{},"agents"," when the task has a clear scope, verifiable checks (tests, linters), and you are ready to review a batch of changes.",[16,153,154,155,158],{},"No tool absolves you of ",[30,156,157],{},"integration responsibility",". The agent does not own your deployment topology, your threat model, or your naming history. You do.",[11,160,162],{"id":161},"avoiding-tool-tribalism","Avoiding tool tribalism",[16,164,165],{},"Teams waste energy arguing which logo is “best.” Better questions:",[167,168,169,177,184],"ul",{},[170,171,172,173,176],"li",{},"Can we standardize ",[30,174,175],{},"project context"," (README, architecture notes, coding rules) so any tool sees the same ground truth?",[170,178,179,180,183],{},"Do we have ",[30,181,182],{},"automated checks"," that catch regressions regardless of who — or what — wrote the patch?",[170,185,186,187,190],{},"Is our ",[30,188,189],{},"review culture"," tuned for larger diffs, or are we pretending every PR is still twenty lines?",[16,192,193,194,197],{},"Pick defaults for the team, allow controlled exceptions, and document ",[30,195,196],{},"why"," in plain language. The Academy modules that follow assume you can run tests and linters locally — that is your neutral referee.",[11,199,201],{"id":200},"practical-starting-point","Practical starting point",[16,203,204,205,208],{},"If you are unsure, start with ",[30,206,207],{},"one"," agentic workflow on a non-critical repo: a bug with a reproduction, a failing test, and a written definition of done. Measure time-to-merge and defect rate. Scale what works; do not mandate tools before you have shared standards.",{"title":74,"searchDepth":75,"depth":75,"links":210},[211,212,213,214],{"id":102,"depth":75,"text":103},{"id":135,"depth":75,"text":136},{"id":161,"depth":75,"text":162},{"id":200,"depth":75,"text":201},"Claude Code, Cursor, Copilot — what each class of tool is good for and how to choose without religious wars.",10,{},"\u002Facademy\u002Ffoundations\u002F02-tool-landscape",{"title":97,"description":215},"academy\u002Ffoundations\u002F02-tool-landscape","qa-vtfDyOIcUAX2r479TxNsM9pDaMdkkRX5e0P-AHHc",{"id":223,"title":224,"body":225,"description":365,"draft":83,"estimatedMinutes":366,"extension":85,"meta":367,"module":87,"moduleOrder":88,"moduleTitle":89,"navigation":90,"order":368,"path":369,"seo":370,"stem":371,"__hash__":372},"academy\u002Facademy\u002Ffoundations\u002F03-setup-properly.md","Set Up Properly",{"type":8,"value":226,"toc":358},[227,231,243,246,250,253,283,290,294,309,323,326,330,337,344,348,351],[11,228,230],{"id":229},"why-setup-is-a-feature-not-paperwork","Why setup is a feature, not paperwork",[16,232,233,234,238,239,242],{},"Agents read what you give them. If your repo has ambiguous scripts, secret env vars with no ",[235,236,237],"code",{},".env.example",", and tribal knowledge in one person’s head, the agent will ",[30,240,241],{},"invent"," plausible glue — wrong paths, mocked endpoints, “temporary” flags that live forever.",[16,244,245],{},"A proper setup reduces hallucinated project structure. It is the same reason senior engineers maintain good READMEs: not for ceremony, but to shrink the search space of mistakes.",[11,247,249],{"id":248},"baseline-checklist","Baseline checklist",[16,251,252],{},"Before you lean on agents for real work, tighten the basics:",[167,254,255,261,267,273],{},[170,256,257,260],{},[30,258,259],{},"Install and test commands"," are documented and match CI.",[170,262,263,266],{},[30,264,265],{},"Lint and typecheck"," run locally in under a few minutes.",[170,268,269,272],{},[30,270,271],{},"Environment"," has a sample file listing required keys without secrets.",[170,274,275,278,279,282],{},[30,276,277],{},"Architecture note"," answers: where does data flow, what is forbidden (e.g. no ",[235,280,281],{},"fetch"," in server secrets), and where tests live.",[16,284,285,286,289],{},"You do not need a novel. You need ",[30,287,288],{},"stable anchors"," the agent can verify against.",[11,291,293],{"id":292},"project-memory-files","Project memory files",[16,295,296,297,300,301,304,305,308],{},"Many teams add a root instruction file (for example ",[235,298,299],{},"CLAUDE.md",", ",[235,302,303],{},"AGENTS.md",", or tool-specific equivalents). Treat it as ",[30,306,307],{},"constraints and map",", not a diary:",[167,310,311,314,317,320],{},[170,312,313],{},"Stack and package manager",[170,315,316],{},"Commands that must pass before a change is “ready”",[170,318,319],{},"Directory conventions",[170,321,322],{},"Security rules (no logging tokens, no disabling TLS for convenience)",[16,324,325],{},"Update it when reality drifts. Stale instructions are worse than none — they train everyone, human or model, to ignore the file.",[11,327,329],{"id":328},"a-first-workflow-that-works","A first workflow that works",[16,331,332,333,336],{},"Pick a ",[30,334,335],{},"small, test-backed task",": fix a failing unit test, rename a module with compiler-guided renames, or add a feature flag that defaults off. Write a short spec: inputs, outputs, files likely touched, and “done means tests X and Y pass.”",[16,338,339,340,343],{},"Run the agent. Review the diff like a human teammate: suspicious imports, broad retries, disabled checks. If something is wrong, ",[30,341,342],{},"fix the spec"," and the guardrails, not just the line of code.",[11,345,347],{"id":346},"when-to-pause-and-reset","When to pause and reset",[16,349,350],{},"If the agent starts looping on the same error, stops running tests, or proposes disabling lint rules — stop. That is a signal your context or task boundary is broken. Shrink the task, add a failing test that encodes intent, or switch to a narrower tool (chat or inline) until the path is clear.",[16,352,353,354,357],{},"Setup is never finished; it ",[30,355,356],{},"compounds",". Every time you correct a repeated mistake, add one line to project memory or a script so the next session starts smarter.",{"title":74,"searchDepth":75,"depth":75,"links":359},[360,361,362,363,364],{"id":229,"depth":75,"text":230},{"id":248,"depth":75,"text":249},{"id":292,"depth":75,"text":293},{"id":328,"depth":75,"text":329},{"id":346,"depth":75,"text":347},"Environment baselines, project memory files like CLAUDE.md, and a first agent workflow that does not end in chaos.",9,{},3,"\u002Facademy\u002Ffoundations\u002F03-setup-properly",{"title":224,"description":365},"academy\u002Ffoundations\u002F03-setup-properly","8ZgecsdqmIYJG0oAl_Fwt-8zEH1TeuCBK_kGsMaOHQw",1775422462278]