THE FUTURE MARKETACADEMY
Your classroomRoom 01 · AI Lab
School of AI

AI Engineering Practice: mag-ship at mag-maintain ng software na binuo ng AI

Step 7 of 7 in AI Lab

This is the last course in this building's path. All learning paths

What you'll be able to do
  • Sumulat ng maiikling engineering standards para sa code na tinulungan ng AI, at ilagay ang bawat tuntunin kung saan ito talagang naipapatupad.
  • Mag-set up ng review pipeline para sa mga pagbabagong isinulat ng AI: self-review, bagong reviewer, code owners at branch protection.
  • Gamitin ang mga test bilang gate, suriin kung sapat ang lakas ng mga test mismo, at patakbuhin ang mga ito sa CI.
  • Magdagdag ng security checks: mga lihim, dependencies, permissions, security pass at isang kwalipikadong tao na pipirma.
  • Patakbuhin ang Claude Code sa mga script at CI na may limitasyon sa tools, turns, gastos at kung sino ang puwedeng mag-trigger.
  • Mag-ship nang paunti-unti, mabilis na bawiin ang mga pagkakamali at panatilihing maaalagaan ang software na binuo ng AI.
  • Mamuno sa maliit na team gamit ang nakasulat na workflow, at ituro ito sa iba.

Bago ang course na ito: Claude Code Projects: larger codebases, tests and git (course 1.5.3). Dapat ay nagamit mo na ang plan mode, nakasulat na SPEC.md, mga test bilang pass-or-fail na loop, Stop hook, mga branch at maliliit na commit, worktrees, read-only na reviewer subagent, deny rules, at /clear at /usage. Mas nauna pa riyan ang mga course 1.5.1 (Coding with AI) at 1.5 (Claude Code Basics). Ito ang expert level. Ang isang taong may magagandang gawi ay nagiging team na may sama-samang standards, at ang "gumagana sa laptop ko" ay nagiging "nasuri na, narebyu na, ligtas i-ship at madaling i-maintain". Kailangan mo ng Python 3.9 o mas bago, Git, at terminal. Ang code na may markang "tested" ay pinatakbo para sa course na ito gamit ang plain Python at Git. Ang mga workflow file na may markang "from the docs" ay ipinapakita ayon sa dokumentasyon ng Anthropic at hindi pinatakbo rito, dahil kailangan nila ng GitHub repository at API key.

Words in this course 68Open the Vocabulary Hall
01

Engineering standards: sabihin nang isang beses, ipatupad kung saan mahalaga

In simple words

Ang kusina ng restaurant ay may ilang tuntunin sa dingding ("maghugas ng kamay") at ilang tuntuning nakapaloob sa kagamitan (namamatay ang oven kapag binuksan ang pinto). Ang poster sa dingding ay puwedeng makalimutan. Ang built-in na kandado ay hindi. Ang magagandang engineering standards ay gumagamit ng pareho, at alam nila kung aling tuntunin ang nararapat saan.

Key facts
  • Hinahati ng best-practices page ng Claude Code ng Anthropic ang mga instruksyon sa dalawang uri. Ang guidance (prompt mo, CLAUDE.md, skills) ay binabasa ng model, na "usually follows" ito pero hindi sapilitan. Ang mga enforced na tuntunin (hooks, permission rules, managed settings, tests, CI) ay ipinapatupad ng Claude Code o ng pipeline mo at hindi nakadepende sa pasya ng model.
  • Payo ng docs: kung patuloy mong dinadagdagan ng diin ang isang linya sa CLAUDE.md at hindi pa rin ito nasusunod ni Claude, ang linyang iyon ay nararapat sa hook. Totoo rin ang kabaligtaran: kung may mga hook ka para sa mga bagay na kagustuhan lang, burahin ang mga iyon at hayaang magpasya si Claude.
  • Nilo-load ang CLAUDE.md sa bawat session, kaya bawat linya ay kumakain ng kaunting atensyon sa bawat gawain. Itabi ito para sa mga bagay na hindi malalaman ni Claude mula sa code: ang eksaktong test, typecheck at lint commands, mga desisyong wala sa repo, at mga gotcha. Ang mga personal na kagustuhan ay nasa CLAUDE.local.md, na idinadagdag mo sa .gitignore.
  • Nagbabasa ang Claude Code ng settings mula sa ilang lugar. Ang scope ang nagpapasya kung sino ang naaapektuhan ng isang setting: user (~/.claude/settings.json, ikaw sa bawat project), shared project (.claude/settings.json, lahat sa repo kung na-commit), project local (.claude/settings.local.json, ikaw sa isang project) at managed (itinakda ng organisasyon; walang file mo ang makakapag-override rito).
  • Prayoridad, mula pinakamataas: managed settings, command-line --settings, project local, shared project, user. Ang mga list setting tulad ng permissions.allow ay nagsasama-sama sa mga file sa halip na nagpapalit.
  • May mga key na hindi kailanman umiiral mula sa file na naka-commit sa repo, at ang ilan, tulad ng allow rules, ay naghihintay hanggang pagkatiwalaan ng bawat teammate ang folder. Ang deny at ask rules ay umiiral agad. I-run ang /status para makita kung aling mga pinagmumulan ng settings ang na-load.
  • Kapaki-pakinabang lang ang mga standard kung nahahanap at nagagamit ng mga tao. Sumulat ng isang maikling engineering standards file (tinatawag natin itong ENGINEERING.md sa course na ito) at i-link mula sa CLAUDE.md.
TuntuninGuidance o enforced?Saan ito nakalagay
"Gumamit ng malinaw na pangalan para sa mga function"GuidanceCLAUDE.md
"I-run ang python3 -m unittest bago mo sabihing tapos na"Guidance, dagdag ang pagpapatupad ng Stop hook at CICLAUDE.md, .claude/settings.json, CI
"Huwag kailanman basahin ang .env"Enforcedpermissions.deny rule
"Walang magme-merge nang walang pasadong test run at isang pag-apruba ng tao"EnforcedBranch protection (Lesson 2)
"Huwag galawin ang migrations/ folder"EnforcedPreToolUse hook na nag-eexit ng code 2
Step by step
  1. Isulat ang bawat tuntuning sinusunod ng team mo o gustong masunod, isa kada linya, sa payak na salita.
  2. Sa bawat tuntunin, itanong: sapat na ba ang "halos palagi"? Kung oo, guidance ito. Kung hindi, tuntunin itong kailangang ipatupad.
  3. Ilagay ang guidance sa CLAUDE.md, at panatilihing maikli ang file. Isama ang eksaktong command para sa test, typecheck at lint.
  4. Sa bawat enforced na tuntunin, piliin ang mekanismo mula sa talahanayan at isulat: deny rule, hook, branch protection o CI.
  5. Gawin ang mga totoong file: .claude/settings.json na may shared rules mo, naka-commit sa repo, at .claude/settings.local.json para sa personal na override, itago sa Git.
  6. Isulat ang ENGINEERING.md sa isang pahina na may tatlong seksyon: how we work, how we review, how we ship.
  7. I-run ang /status at tingnan kung ayon sa inaasahan mo ang mga pinagmumulan ng settings.
  8. Check: kaya ng bagong teammate na hanapin ang test command sa wala pang isang minuto, at maituturo mo ang eksaktong lugar kung saan ipinapatupad ang bawat "never" rule.
Watch on YouTube
Claude Code best practices from AnthropicAnthropic · YouTube · youtube.com
Hooks in Claude CodeClaude · YouTube · youtube.com

Videos by other creators on YouTube, for reference. They are not made by or affiliated with The Future Market.

LESSON 01Engineering standards: sabihin nang isang beses, ipatupad kung saan mahalaga
LESSON 01 / ANIMATED LESSON / ENGLISH VOICE00:00 / 01:10
Read the video script
[Host] "Ang poster sa dingding ay puwedeng balewalain. Ang kandado sa pinto, hindi."
[Text on screen: Guidance vs enforced] "May mga tuntuning guidance, tulad ng note sa CLAUDE.md. May mga enforced, tulad ng deny rule o required check."
[Screen: ang talahanayan ng mga tuntunin] "Isang tanong sa bawat tuntunin: sapat na ba ang halos palagi?"
[Text on screen: Keep CLAUDE.md short] "Kung hindi, ilipat ito mula sa notes papunta sa hook, permission rule o pipeline mo."
[Host] "Maikling notes, matibay na kandado, at isang pahinang mahahanap ng lahat."
Try it now

Isulat ang listahan ng mga tuntunin ng team mo (hindi bababa sa sampu), ayusin ito sa guidance at enforced, at gawin ang mga file na may hawak ng bawat isa. Pagkatapos, isulat ang ENGINEERING.md sa isang pahina.

ClaudeStuck? Copy a ready-made prompt for Claude

Copy this, open Claude, paste it, and Claude will walk you through the lesson step by step.

For a grown-up: Claude is for adults (18+). Copy this, paste it into Claude, and use the answer to explain the lesson to your child.

I'm learning "AI Engineering Practice: mag-ship at mag-maintain ng software na binuo ng AI" on The Future Market. Lesson 1: "Engineering standards: sabihin nang isang beses, ipatupad kung saan mahalaga".

What the lesson teaches:
- Hinahati ng best-practices page ng Claude Code ng Anthropic ang mga instruksyon sa dalawang uri. Ang guidance (prompt mo, CLAUDE.md, skills) ay binabasa ng model, na "usually follows" ito pero hindi sapilitan. Ang mga enforced na tuntunin (hooks, permission rules, managed settings, tests, CI) ay ipinapatupad ng Claude Code o ng pipeline mo at hindi nakadepende sa pasya ng model.
- Payo ng docs: kung patuloy mong dinadagdagan ng diin ang isang linya sa CLAUDE.md at hindi pa rin ito nasusunod ni Claude, ang linyang iyon ay nararapat sa hook. Totoo rin ang kabaligtaran: kung may mga hook ka para sa mga bagay na kagustuhan lang, burahin ang mga iyon at hayaang magpasya si Claude.
- Nilo-load ang CLAUDE.md sa bawat session, kaya bawat linya ay kumakain ng kaunting atensyon sa bawat gawain. Itabi ito para sa mga bagay na hindi malalaman ni Claude mula sa code: ang eksaktong test, typecheck at lint commands, mga desisyong wala sa repo, at mga gotcha. Ang mga personal na kagustuhan ay nasa CLAUDE.local.md, na idinadagdag mo sa .gitignore.
- Nagbabasa ang Claude Code ng settings mula sa ilang lugar. Ang scope ang nagpapasya kung sino ang naaapektuhan ng isang setting: user (~/.claude/settings.json, ikaw sa bawat project), shared project (.claude/settings.json, lahat sa repo kung na-commit), project local (.claude/settings.local.json, ikaw sa isang project) at managed (itinakda ng organisasyon; walang file mo ang makakapag-override rito).
- Prayoridad, mula pinakamataas: managed settings, command-line --settings, project local, shared project, user. Ang mga list setting tulad ng permissions.allow ay nagsasama-sama sa mga file sa halip na nagpapalit.
- May mga key na hindi kailanman umiiral mula sa file na naka-commit sa repo, at ang ilan, tulad ng allow rules, ay naghihintay hanggang pagkatiwalaan ng bawat teammate ang folder. Ang deny at ask rules ay umiiral agad. I-run ang /status para makita kung aling mga pinagmumulan ng settings ang na-load.
- Kapaki-pakinabang lang ang mga standard kung nahahanap at nagagamit ng mga tao. Sumulat ng isang maikling engineering standards file (tinatawag natin itong ENGINEERING.md sa course na ito) at i-link mula sa CLAUDE.md.

The exercise I'm working on:
Isulat ang listahan ng mga tuntunin ng team mo (hindi bababa sa sampu), ayusin ito sa guidance at enforced, at gawin ang mga file na may hawak ng bawat isa. Pagkatapos, isulat ang ENGINEERING.md sa isang pahina.

I'm stuck. Please:
1. Explain the main idea in plain, simple words with one everyday example.
2. Walk me through the exercise one small step at a time. Ask me what I've done so far before giving the next step.
3. Don't just give me the final answer. Help me do it myself, and check my work when I share it.
I'm a parent helping my child (about 8 years old) with a lesson called "Engineering standards: sabihin nang isang beses, ipatupad kung saan mahalaga" from the course "AI Engineering Practice: mag-ship at mag-maintain ng software na binuo ng AI".

Here's what the lesson says:
Ang kusina ng restaurant ay may ilang tuntunin sa dingding ("maghugas ng kamay") at ilang tuntuning nakapaloob sa kagamitan (namamatay ang oven kapag binuksan ang pinto). Ang poster sa dingding ay puwedeng makalimutan. Ang built-in na kandado ay hindi. Ang magagandang engineering standards ay gumagamit ng pareho, at alam nila kung aling tuntunin ang nararapat saan.

The activity:
Isulat ang listahan ng mga tuntunin ng team mo (hindi bababa sa sampu), ayusin ito sa guidance at enforced, at gawin ang mga file na may hawak ng bawat isa. Pagkatapos, isulat ang ENGINEERING.md sa isang pahina.

Please explain this so an 8-year-old understands: short sentences, a fun everyday example, and no hard words.
Then give me 3 simple questions I can ask my child to check they understood, and a way to do the activity together, one tiny step at a time.
Open Claude
Sources
My notes
02

Review pipeline para sa code na hindi mo sinulat

This lesson is part of full access: every course and every level for one payment.

03

Mga test bilang gate, at pagsusuri sa mga test mismo

This lesson is part of full access: every course and every level for one payment.

04

Mga security check para sa code na tinulungan ng AI

This lesson is part of full access: every course and every level for one payment.

05

Claude Code sa mga script at CI, may mga limitasyon

This lesson is part of full access: every course and every level for one payment.

06

Mag-ship nang paunti-unti at panatilihing maaalagaan

This lesson is part of full access: every course and every level for one payment.

07

Mamuno sa maliit na team at idokumento ang workflow

This lesson is part of full access: every course and every level for one payment.

++

Final project

This lesson is part of full access: every course and every level for one payment.

??

Quiz

  1. Ano ang pagkakaiba ng guidance at enforced na tuntunin?

  2. Saan dapat nakalagay ang tuntuning "huwag basahin ang .env"?

  3. Inaaprubahan o hinaharang ba ng AI code review ang pull request?

  4. Bakit binabasa ng Code Review ang REVIEW.md mula sa base branch at hindi mula sa pull request?

  5. Ano ang ginagawa ng CODEOWNERS file?

  6. Ano ang mutation check?

  7. Paano mo gagawing hinaharang ng bumabagsak na test ang merge?

  8. Anong mga babalang senyales ang dapat hanapin ng human reviewer sa diff na isinulat ng AI?

  9. Ano ang ginagawa ng push protection?

  10. Pangalanan ang tatlong limitasyong itinatakda mo sa unattended na Claude Code run.

  11. Bakit gagamit ng --bare sa mga script at CI?

  12. Paano mo babawiin ang na-ship nang commit at pananatilihin ang history?

EX

Final exam

This lesson is part of full access: every course and every level for one payment.

CE

Certificate

This lesson is part of full access: every course and every level for one payment.