<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged github-copilot</title>
<link>https://coderlegion.com/tag/github-copilot</link>
<description>Powered by Question2Answer</description>
<item>
<title>Are You Using the Best Models for Your Agentic SDLC?</title>
<link>https://coderlegion.com/25199/are-you-using-the-best-models-for-your-agentic-sdlc</link>
<description>&lt;p&gt;Picking a model on just a single factor (retail price, benchmark scores, industry hype) rarely predicts the true cost or quality of agentic development. I had a project that required an agentic development lifecycle and some free cycles, so the team ran an experiment: the same starting package (architecture and technical design docs, a product brief, an initial backlog, UX designs and mockups) through five different model combinations in GitHub Copilot. Each run planned its own work from the backlog, implemented every task it created, and tracked its consumption in AI Credits (AICs), GitHub's billing unit for Copilot usage.&lt;/p&gt;
&lt;p&gt;All five runs completed everything they planned, yet the bill spanned 27x from cheapest to most expensive, and the model that benchmark sites measure as one of the cheapest per task produced the most expensive run of the exercise. The surprise, however, was that the combination I initially picked as the leader based on cost alone finished below the runner-up when factoring in code quality. And the most expensive, top-tier model didn't even produce the best output.&lt;/p&gt;
&lt;h3 id=&quot;quick-findings&quot;&gt;Quick findings&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Cost spread. Five model combinations ran the same exercise, and all five completed everything they planned. The bill ranged from 304 to 8,185 AICs: a 27x spread, or 6.4x excluding the Auto experiment. Same work, same definition of done, wildly different cost.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Benchmarks measure their scenario, not yours. The model Artificial Analysis measures as one of the cheapest per task ($0.43) produced the most expensive run of the exercise. Benchmarks answer generalized scenarios; your prompts, context, and workflow are specific. Prove out cost and quality yourself, in your scenario.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The cost leader finished below the runner-up on quality. The most cost-efficient serious run (GPT-5.6 Sol + Terra, 1,283 AICs) looked like the winner on cost and visual output, but code quality measures scored it below the runner-up (Grok 4.5, 2,277 AICs): 18 of 35 versus 27 of 35. That code quality could come back later in re-work and maintenance costs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Auto trades control for a discount. The Auto run was the cheapest and fastest of the exercise (304 AICs, about 14 minutes) and produced the weakest output by far, confirmed by both the review scores and the linter (14 errors where every other run had zero). Auto promises the lowest cost plus a 10% discount, but you give up all control and blindly trust the vendor and their router. The 10% discount likely costs you 10% more.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;the-setup&quot;&gt;The setup&lt;/h3&gt;
&lt;p&gt;Every run started from the same package: architecture and technical design documents, a product brief, an initial backlog, and UX designs with mockups. Each run worked from a fresh branch, and issue tracking lived in local files so the tracking system itself stayed constant across runs.&lt;/p&gt;
&lt;p&gt;Each run opened with a grilling exercise, where the agent interrogates the package to ground its understanding before writing anything. The architecture grilling had already happened ahead of this exercise, so cross-cutting concerns like concurrency, testing standards, and platform choices were generally resolved. What remained was product and feature understanding, plus the technical details specific to each feature: field lengths, validation rules on a form, that class of question. From the grilling, each run wrote a spec and broke the work into implementation tasks. This was all done in one session to maintain context fidelity and efficiency. That closed the planning phase.&lt;/p&gt;
&lt;p&gt;Implementation meant working through the run's own task list until every task was marked complete; that was the definition of done for every run. Models could be switched between phases or mid-implementation, which is where the combinations come in. We tracked consumption in AICs throughout, recorded by hand or self-reported by the harness at the end of each session.&lt;/p&gt;
&lt;p&gt;The team split the runs between us: the Grok and mixed-model runs, Opus 5, GPT Sol + Terra, and Auto.&lt;/p&gt;
&lt;h3 id=&quot;the-contenders&quot;&gt;The contenders&lt;/h3&gt;
&lt;p&gt;Five combinations made it into the exercise. Reasoning effort is listed per model because it moves both the bill and the output.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Run &lt;/th&gt;&lt;th&gt;Planning &lt;/th&gt;&lt;th&gt;Implementation&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Mixed &lt;/td&gt;&lt;td&gt;Claude Opus 4.8 (medium) &lt;/td&gt;&lt;td&gt;Claude Sonnet 4.6 (medium), then Gemini 3.5 Flash (high)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Grok &lt;/td&gt;&lt;td&gt;Grok 4.5 (high) &lt;/td&gt;&lt;td&gt;Grok 4.5 (high)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Opus 5 &lt;/td&gt;&lt;td&gt;Claude Opus 5 (low, 1M context) &lt;/td&gt;&lt;td&gt;Claude Opus 5 (low, 1M context)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPT Sol + Terra &lt;/td&gt;&lt;td&gt;GPT-5.6 Sol (medium) &lt;/td&gt;&lt;td&gt;GPT-5.6 Terra (medium)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Auto &lt;/td&gt;&lt;td&gt;Auto model selection &lt;/td&gt;&lt;td&gt;Auto model selection&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The mixed run was supposed to be Opus planning with Sonnet implementation. Partway through I accidentally switched to Gemini 3.5 Flash and didn't notice for several sessions, which turned it into an accidental three-model comparison. Whoops.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Grok run earned its slot: Grok 4.5 had already put up Opus-class results at a fraction of the price in my own &lt;a rel=&quot;nofollow&quot; href=&quot;https://jason.agostoni.net/does-grok-4-5-deliver-opus-results-at-a-fraction-of-the-price&quot;&gt;Ship Bench comparison&lt;/a&gt;, so it ran single-model at high effort for everything.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Opus 5 run put the flagship at its cheapest setting: low effort, with the 1M context window.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The GPT run chased the Artificial Analysis cost-per-task numbers and the industry hype around GPT token efficiency: Sol for planning, Terra for implementation. The efficiency hype held up, at least on the bill.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Auto run handed model selection to the vendor. Auto promises the lowest cost and a 10% discount; we wanted to see what that promise actually delivers.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;the-runs&quot;&gt;The runs&lt;/h3&gt;
&lt;p&gt;The table first, then the color. Costs are split by phase; wall clock is as captured, with one honest gap. After the runs, I had every output reviewed: static analysis with a pinned toolchain, plus an independent reviewer pass scoring seven quality dimensions out of 35, scoped to what the exercise required.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Run &lt;/th&gt;&lt;th&gt;Planning &lt;/th&gt;&lt;th&gt;Implementation &lt;/th&gt;&lt;th&gt;Total AICs &lt;/th&gt;&lt;th&gt;Wall clock&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;GPT Sol + Terra &lt;/td&gt;&lt;td&gt;319 &lt;/td&gt;&lt;td&gt;964 &lt;/td&gt;&lt;td&gt;1,283 &lt;/td&gt;&lt;td&gt;~47 min&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Grok &lt;/td&gt;&lt;td&gt;249 &lt;/td&gt;&lt;td&gt;2,028 &lt;/td&gt;&lt;td&gt;2,277 &lt;/td&gt;&lt;td&gt;~237 min&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Mixed &lt;/td&gt;&lt;td&gt;622 &lt;/td&gt;&lt;td&gt;3,756 &lt;/td&gt;&lt;td&gt;4,378 &lt;/td&gt;&lt;td&gt;not captured&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Opus 5 &lt;/td&gt;&lt;td&gt;590 &lt;/td&gt;&lt;td&gt;7,595 &lt;/td&gt;&lt;td&gt;8,185 &lt;/td&gt;&lt;td&gt;~127 min&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Auto &lt;/td&gt;&lt;td&gt;48 &lt;/td&gt;&lt;td&gt;256 &lt;/td&gt;&lt;td&gt;304 &lt;/td&gt;&lt;td&gt;~14 min&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Auto ran last and carries the least weight, so it anchors the table despite being the cheapest row. The Mixed run's wall clock wasn't captured.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GPT Sol + Terra (1,283 AICs, about 47 minutes).&lt;/strong&gt; The cheapest serious run, and the fastest of them by a wide margin; the GPT models were noticeably quick throughout. It looked like the winner early: a low bill, and visual output that matched the designs once the planning instructions told it to adhere to them (before that fix, the visuals lagged Grok's). The review pass was less kind: 18 of 35, with the client logic concentrated in one large component and thin architecture overall. Cheap, fast, pretty. The code needs more discipline, the kind our SDLC would normally enforce by putting quality tooling early in the process.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Grok (2,277 AICs, about four hours).&lt;/strong&gt; The runner-up on cost and the quality leader: 27 of 35 on the review, with the cleanest architecture of the five. It adhered the strongest to the visual designs, especially once the updated planning instructions were in place. Two caveats on the experience. It felt slow: tokens trickled compared to running the same model through Grok Build, though throughput numbers like these are easily skewed by provider capacity and can vary wildly. And it exposed a process gap when I forgot to start Docker: agents should confirm their tooling and environment before starting. Its first move was writing its own monorepo launch script, which set the tone for a run that followed instructions incredibly well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mixed (4,378 AICs).&lt;/strong&gt; The accidental three-model run. Opus planning was the most expensive planning of the exercise (622 AICs; the grilling alone cost 350, against Grok's 175 for a longer conversation). In implementation, the Sonnet sessions averaged 789 AICs against Gemini Flash's 348, though sessions aren't equal units of work and effort settings differed, so read that as directional. The run's real failure was process: the tickets never linked back to the UI designs, the visuals drifted, and a separate 783-AIC review pass (not counted above) was needed to bring it back. It also accumulated the most dependency surface, showing up as 11 vulnerable npm packages at scan time where every other run carried little beyond the one CVE they all inherited. Mid-pack on review at 24 of 35, on the biggest codebase of the five.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Opus 5 (8,185 AICs, about 127 minutes).&lt;/strong&gt; The most expensive run by nearly double, and the one the benchmark tables missed hardest: Artificial Analysis measures Opus 5 at low effort as one of the cheapest models per task ($0.43, despite its higher retail price), largely on output efficiency. In a real agentic workflow with a 1M context window, it burned more than any other run; the scaffold ticket alone cost 1,855 AICs. It also shipped the only build that doesn't restore end to end: its own warnings-as-errors policy escalated a dependency vulnerability warning into a build error, and no one ran a full solution build to catch it. Discounting the build and restore issues, the review score tied Grok's at 27 of 35, and it came closest to the designs without any instruction help, which says something about its reasoning. But the build has to work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Auto (304 AICs, about 14 minutes).&lt;/strong&gt; Cheapest and fastest, and weakest by far: generic browser dialogs for delete confirmations, 14 lint errors where every other run had zero, 17 of 35 on the review. It completed everything it planned, which is worth saying. What it produced just isn't anything you'd ship.&lt;/p&gt;
&lt;h3 id=&quot;what-the-benchmarks-said&quot;&gt;What the benchmarks said&lt;/h3&gt;
&lt;p&gt;For an external reference point, here is what Artificial Analysis measured for these models (Intelligence Index v4.1.1, retrieved August 2026). These are API list-price benchmarks, not Copilot credits; the units don't convert, which is part of the point.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Model (effort) &lt;/th&gt;&lt;th&gt;Intelligence Index &lt;/th&gt;&lt;th&gt;Cost per task&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;GPT-5.6 Sol (medium) &lt;/td&gt;&lt;td&gt;56 &lt;/td&gt;&lt;td&gt;$0.37&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Grok 4.5 (high) &lt;/td&gt;&lt;td&gt;54 &lt;/td&gt;&lt;td&gt;$0.31&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Claude Opus 5 (low) &lt;/td&gt;&lt;td&gt;52 &lt;/td&gt;&lt;td&gt;$0.43&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Gemini 3.5 Flash (high) &lt;/td&gt;&lt;td&gt;52 &lt;/td&gt;&lt;td&gt;$0.69&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Claude Sonnet 4.6* &lt;/td&gt;&lt;td&gt;48 &lt;/td&gt;&lt;td&gt;$1.22&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;GPT-5.6 Terra (medium) &lt;/td&gt;&lt;td&gt;47 &lt;/td&gt;&lt;td&gt;$0.12&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Claude Opus 4.8* &lt;/td&gt;&lt;td&gt;57 &lt;/td&gt;&lt;td&gt;$2.03&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Benchmarked at max effort; our runs used medium. Auto has no benchmark entry, which tells you something on its own.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Two things stand out. The Opus 5 row is the exercise's reason to exist: benchmarked among the cheapest per task despite its premium retail price, it produced the most expensive run we had. And Terra, the cheapest per task on the board at $0.12, sits off the value frontier even in Artificial Analysis's own GPT-5.6 breakdown, which found Sol and Luna ahead of Terra at every effort level. Cheapest per task is not the same as best value. Benchmarks measure their scenario; the only cost and quality numbers that matter are the ones you prove out in yours.&lt;/p&gt;
&lt;h3 id=&quot;what-changes-after-running-this&quot;&gt;What changes after running this&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Test your own hypothesis.&lt;/strong&gt; The benchmark tables got us to a shortlist and nothing further. If a benchmark's scenario is fixing bugs in a public repo and your scenario is building features from a design package, the numbers won't transfer. The only cost and quality figures that matter are the ones from your own process, your own prompts, your own codebase.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Discipline beats model choice.&lt;/strong&gt; Every serious run completed everything it planned. What separated the good outcomes from the expensive ones wasn't the model card, it was the agentic SDLC around it: grounding the product understanding before writing code, instructions that actually carry the design intent, and quality tooling early enough to catch what the agent won't. With that in place, a variety of models can get you to success. The bill and the polish will vary; the outcome doesn't have to.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The archetypes rotate.&lt;/strong&gt; Today's nicely balanced models (Grok), efficiency kings (the GPTs), and one-shot wonders (Opus 5, and really Claude Fable 5) won't be holding those titles next quarter. The lineup we ran here will be legacy by the time some readers find this article. Which is the actual takeaway: get into the habit of evaluating for yourself, because you'll be doing it again soon.&lt;/p&gt;
&lt;p&gt;The benchmarks will get you to a shortlist. Your own runs tell you the truth.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/25199/are-you-using-the-best-models-for-your-agentic-sdlc</guid>
<pubDate>Sun, 23 Aug 2026 23:05:44 +0000</pubDate>
</item>
<item>
<title>Copilot Forgets Everything. Make It Stop.</title>
<link>https://coderlegion.com/15392/copilot-forgets-everything-make-it-stop</link>
<description>&lt;p&gt;You open a new Copilot chat and explain everything again.&lt;/p&gt;
&lt;p&gt;Your stack. Folder structure. That “no default exports” rule.&lt;/p&gt;
&lt;p&gt;Copilot writes code, but forgets context.&lt;/p&gt;
&lt;p&gt;This isn’t a bug though. LLMs are stateless, every chat starts fresh.&lt;/p&gt;
&lt;p&gt;The good part? You can fix it.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-problem-has-a-name&quot;&gt;The Problem Has a Name&lt;/h3&gt;
&lt;p&gt;You’re dealing with three problems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Blank Slate&lt;/strong&gt;: Every session starts from zero.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Correction Amnesia&lt;/strong&gt;: You fix a mistake. Next session, same mistake.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Standards Drift&lt;/strong&gt;: Your team has patterns. Copilot ignores them. Code becomes inconsistent.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each problem has a different fix. Let's go through them one by one.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-instructions-file-your-copilot-brief-&quot;&gt;The Instructions File (Your Copilot Brief)&lt;/h3&gt;
&lt;p&gt;Create this file:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;your-project/
└── .github/
    └── copilot-instructions.md
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Copilot reads it at the start of every chat. No setup.&lt;/p&gt;
&lt;p&gt;Think of it as your team’s “how we work” doc.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;## Stack
- React 18, TypeScript (strict), Tailwind CSS
- Node.js + Express + Prisma + PostgreSQL
- Testing: Vitest + React Testing Library
- Package manager: pnpm only

## Rules
- Named exports only — no default exports
- No `any` types
- Every API route uses `authenticate`
- Handle nulls explicitly — no optional chaining on Prisma results
- Conventional Commits: feat(scope): message
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now everyone gets the same baseline.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;scoped-rules-right-rules-right-files-&quot;&gt;Scoped Rules (Right Rules, Right Files)&lt;/h3&gt;
&lt;p&gt;One file works… until it grows.&lt;/p&gt;
&lt;p&gt;Frontend, backend, and tests follow different rules. A single file mixes context.&lt;/p&gt;
&lt;p&gt;Use scoped files:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.github/
├── copilot-instructions.md
└── instructions/
    ├── frontend.instructions.md
    ├── backend.instructions.md
    └── testing.instructions.md
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Each file defines where it applies:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;---
applyTo: &quot;src/components/**/*.tsx&quot;
---

## Component Rules
- Functional components only
- Props interface named `[ComponentName]Props`
- Use `cn()` for conditional classes
- No inline styles
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now Copilot gets relevant rules only.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-memory-tool-fix-repeated-mistakes-&quot;&gt;The Memory Tool (Fix Repeated Mistakes)&lt;/h3&gt;
&lt;p&gt;Copilot has a memory tool in VS Code (preview, enabled by default).&lt;/p&gt;
&lt;p&gt;When you correct it, make it persistent:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Remember: never use optional chaining on Prisma query results. 
Always handle null with an explicit if-check.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It stores this and applies it in future sessions.&lt;/p&gt;
&lt;p&gt;Memory types:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;User memory&lt;/strong&gt; (all projects)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Remember I prefer async/await over .then()
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Repository memory&lt;/strong&gt; (this project)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Remember we use App Router (March 2026)
Remember UserAvatar breaks in Server Components
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Session memory&lt;/strong&gt; (current chat only)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key habit:&lt;/strong&gt; When you fix a repeated mistake, tell it to remember.&lt;/p&gt;
&lt;p&gt;Check memory with &lt;code&gt;Chat: Show Memory Files&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: Memory tool is in preview, enable via &lt;code&gt;github.copilot.chat.tools.memory.enabled&lt;/code&gt;.&lt;/em&gt; &lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;prompt-files-stop-repeating-yourself-&quot;&gt;Prompt Files (Stop Repeating Yourself)&lt;/h3&gt;
&lt;p&gt;If you repeat prompts, create a prompt file:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.github/prompts/code-review.prompt.md
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Use it with &lt;code&gt;/code-review&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;---
name: &quot;code-review&quot;
description: &quot;Review staged changes&quot;
mode: &quot;ask&quot;
---

Review staged changes.

Flag:
- Must Fix — bugs, auth, unsafe types
- Should Fix — standards, missing tests
- Suggestion — improvements

Reference [copilot-instructions.md](../copilot-instructions.md).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now your team shares the same workflow.&lt;/p&gt;
&lt;p&gt;Other useful prompts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/new-component&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/new-migration&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/write-tests&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-full-picture&quot;&gt;The Full Picture&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;.github/
├── copilot-instructions.md
├── instructions/
│   ├── frontend.instructions.md
│   ├── backend.instructions.md
│   └── testing.instructions.md
└── prompts/
    ├── code-review.prompt.md
    ├── new-component.prompt.md
    └── new-migration.prompt.md
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Plus memory running in the background.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Problem           &lt;/th&gt;&lt;th&gt;Fix&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Blank slate       &lt;/td&gt;&lt;td&gt;&lt;code&gt;copilot-instructions.md&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Wrong rules       &lt;/td&gt;&lt;td&gt;Scoped files&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Repeated mistakes &lt;/td&gt;&lt;td&gt;Memory tool&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Repeated prompts  &lt;/td&gt;&lt;td&gt;Prompt files&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h3 id=&quot;just-start-with-one-thing&quot;&gt;Just Start With One Thing&lt;/h3&gt;
&lt;p&gt;You don’t need everything today.&lt;/p&gt;
&lt;p&gt;Start with &lt;code&gt;copilot-instructions.md&lt;/code&gt;. Add your stack and a few rules. Commit it. See the difference.&lt;/p&gt;
&lt;p&gt;Then:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add scoped files when needed&lt;/li&gt;
&lt;li&gt;Save repeated fixes to memory&lt;/li&gt;
&lt;li&gt;Create prompt files when repetition appears&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The model won’t change. But your context can improve every week.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/15392/copilot-forgets-everything-make-it-stop</guid>
<pubDate>Tue, 21 Apr 2026 13:07:54 +0000</pubDate>
</item>
<item>
<title>Building Power Apps Canvas Apps with AI: The Complete 5-Part Developer Guide</title>
<link>https://coderlegion.com/15364/building-power-apps-canvas-apps-with-ai-the-complete-5-part-developer-guide</link>
<description>&lt;h3 id=&quot;what-if-canvas-apps-had-git-vs-code-and-ci-cd-they-do-now-&quot;&gt;What if Canvas Apps Had Git, VS Code, and CI/CD? They Do Now.&lt;/h3&gt;
&lt;p&gt;For years, Power Platform developers have been clicking through hundreds of property panels, settling for &quot;Version 23 modified by Tuesday&quot; as version control, and screen-sharing for code reviews. That era just ended.&lt;/p&gt;
&lt;p&gt;I'm announcing a comprehensive 5-part series that covers everything you need to know about building Power Apps canvas apps using AI-powered development tools—from installation through production deployment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The transformation is real:&lt;/strong&gt; What used to take 45 minutes of manual clicking now takes 8 minutes of conversation with AI. Apps that required hours of formula debugging now generate with production-ready code from natural language descriptions.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-paradigm-shift&quot;&gt;The Paradigm Shift&lt;/h3&gt;
&lt;p&gt;Microsoft's AI-powered canvas app development capabilities—combined with GitHub Copilot CLI and Claude Code—have fundamentally changed how we build on the Power Platform.&lt;/p&gt;
&lt;h4 id=&quot;what-changes-for-developers&quot;&gt;What Changes for Developers&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Version Control:&lt;/strong&gt;&lt;br&gt;
Your canvas app becomes a collection of &lt;code&gt;.pa.yaml&lt;/code&gt; files that you commit to Git. &lt;code&gt;git diff&lt;/code&gt; shows exactly which controls were added, which formulas were modified, and which properties changed.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-diff&quot;&gt;- GalleryItemTitle.Text: =ThisItem.Name
+ GalleryItemTitle.Text: =ThisItem.Title
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That's real version control. That's what professional development looks like.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Real IDEs:&lt;/strong&gt;&lt;br&gt;
Edit Power Fx formulas in VS Code with IntelliSense, syntax highlighting, and multi-cursor editing. Changes sync automatically to Power Apps Studio. No more tiny textboxes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CI/CD and Automation:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;.pa.yaml&lt;/code&gt; files can be generated by CI/CD pipelines. Template and reuse screens across projects. Automate deployment via Power Platform CLI.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Code Review:&lt;/strong&gt;&lt;br&gt;
Submit pull requests. Your teammates review YAML diffs, leave comments on specific formulas, suggest improvements. Standard software engineering practices, finally applicable to canvas apps.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-technical-architecture&quot;&gt;The Technical Architecture&lt;/h3&gt;
&lt;p&gt;When you describe a canvas app to GitHub Copilot or Claude Code, here's what happens:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; The AI tool invokes the Canvas App Authoring plugin (specialized skills with Power Apps controls, design patterns, and Power Fx syntax)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; It queries the Canvas App Authoring MCP Server—a long-running process that maintains a connection to your Power Apps environment and discovers available controls, connectors, data sources, and validation rules&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; The AI asks clarifying questions: &quot;Which data source—Dataverse, SharePoint, or Excel?&quot; &quot;Should I include search functionality?&quot;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; You provide specific answers (the more specific, the better the result)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; The AI generates &lt;code&gt;.pa.yaml&lt;/code&gt; files—human-readable, version-controllable source code for your canvas app&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt; The MCP Server validates the YAML against Power Apps rules and automatically fixes errors&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 7:&lt;/strong&gt; Changes sync in real-time to your live Power Apps Studio session&lt;/p&gt;
&lt;p&gt;No export. No import. No manual updates. Just instant synchronization between code and visual designer.&lt;/p&gt;
&lt;h4 id=&quot;what-are-pa-yaml-files-&quot;&gt;What Are &lt;code&gt;.pa.yaml&lt;/code&gt; Files?&lt;/h4&gt;
&lt;p&gt;Human-readable YAML representing your canvas app structure:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-yaml&quot;&gt;HomeScreen As screen:
    Fill: =RGBA(245, 245, 245, 1)
    
    TaskGallery As gallery:
        Items: =Filter(Tasks, SearchBox.Text in Title)
        TemplateSize: =120
        
        GalleryTitle As label:
            Text: =ThisItem.Title
            Font: =Font.'Segoe UI'
            FontWeight: =FontWeight.Bold
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can read this. You can edit this. Git diffs work perfectly. Committing to version control is straightforward.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;what-you-ll-be-able-to-do&quot;&gt;What You'll Be Able to Do&lt;/h3&gt;
&lt;p&gt;By the time you finish this series, you'll be able to:&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Describe canvas apps in natural language&lt;/strong&gt; and watch them materialize in Power Apps Studio&lt;br&gt;
✅ &lt;strong&gt;Version control your canvas apps&lt;/strong&gt; with Git—real diffs, real branches, real merges&lt;br&gt;
✅ &lt;strong&gt;Edit apps in VS Code&lt;/strong&gt; with IntelliSense, syntax highlighting, and multi-cursor editing&lt;br&gt;
✅ &lt;strong&gt;Automate canvas app generation&lt;/strong&gt; in CI/CD pipelines&lt;br&gt;
✅ &lt;strong&gt;Code review canvas apps&lt;/strong&gt; with pull requests and inline comments&lt;br&gt;
✅ &lt;strong&gt;Build apps 5-6x faster&lt;/strong&gt; than traditional manual development  &lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-complete-5-part-series&quot;&gt;The Complete 5-Part Series&lt;/h3&gt;
&lt;h4 id=&quot;part-1-introduction-to-ai-powered-canvas-app-development&quot;&gt;Part 1: Introduction to AI-Powered Canvas App Development&lt;/h4&gt;
&lt;p&gt;Understand the fundamental shift, complete technical architecture (MCP servers, &lt;code&gt;.pa.yaml&lt;/code&gt; files, coauthoring), real performance comparisons (45 minutes → 8 minutes), and the 8-step flow from natural language prompt to live app.&lt;/p&gt;
&lt;h4 id=&quot;part-2-getting-started---installation-configuration-amp-setup&quot;&gt;Part 2: Getting Started - Installation, Configuration &amp;amp; Setup&lt;/h4&gt;
&lt;p&gt;Step-by-step guides for GitHub Copilot CLI, Claude Code, and the Canvas App Authoring MCP Server. Plus troubleshooting common installation issues (like the .NET 10 SDK requirement).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt; Power Apps license, GitHub Copilot subscription (or Claude Code), .NET 10 SDK&lt;/p&gt;
&lt;h4 id=&quot;part-3-building-your-first-ai-generated-canvas-app-tutorial-&quot;&gt;Part 3: Building Your First AI-Generated Canvas App (Tutorial)&lt;/h4&gt;
&lt;p&gt;Complete hands-on tutorial building a production-ready task management app from scratch using only natural language prompts. Learn to write effective prompts, iterate on generated apps, sync between &lt;code&gt;.pa.yaml&lt;/code&gt; files and Power Apps Studio, and make your first commit to Git.&lt;/p&gt;
&lt;h4 id=&quot;part-4-advanced-techniques---prompting-patterns-amp-best-practices&quot;&gt;Part 4: Advanced Techniques - Prompting, Patterns &amp;amp; Best Practices&lt;/h4&gt;
&lt;p&gt;Move beyond the basics to build production-quality apps. Master prompt engineering, reusable component patterns, performance optimization (delegation, collection strategies), complex scenarios (offline support, custom connectors), and team coauthoring workflows.&lt;/p&gt;
&lt;h4 id=&quot;part-5-production-readiness---troubleshooting-limitations-amp-deployment&quot;&gt;Part 5: Production Readiness - Troubleshooting, Limitations &amp;amp; Deployment&lt;/h4&gt;
&lt;p&gt;Understand current limitations, troubleshoot common issues, compare GitHub Copilot vs Claude Code, and learn production deployment strategies. Includes real-world lessons from deploying these apps to hundreds of users.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;who-this-series-is-for&quot;&gt;Who This Series Is For&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;✅ This is for you if you:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Build or maintain Power Apps canvas apps professionally&lt;/li&gt;
&lt;li&gt;Want version control and professional dev practices for Power Platform&lt;/li&gt;
&lt;li&gt;Are frustrated with manual property panel clicking&lt;/li&gt;
&lt;li&gt;Need to build canvas apps faster without sacrificing quality&lt;/li&gt;
&lt;li&gt;Want to leverage AI tools effectively for low-code development&lt;/li&gt;
&lt;li&gt;Lead teams building canvas apps and want modern workflows&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;❌ This is NOT for you if you:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Have never built a canvas app before (start with Microsoft Learn fundamentals first)&lt;/li&gt;
&lt;li&gt;Don't have access to GitHub Copilot or Claude Code (required tools)&lt;/li&gt;
&lt;li&gt;Are looking for model-driven app development guidance (different technology)&lt;/li&gt;
&lt;li&gt;Expect AI to replace all manual development (it's a powerful tool, not magic)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&quot;what-makes-this-different&quot;&gt;What Makes This Different&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt; Practical, not theoretical&lt;/strong&gt;&lt;br&gt;
Every technique has been tested in production. Every example is real. Every limitation is documented from experience.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; Comprehensive, not superficial&lt;/strong&gt;&lt;br&gt;
From installation through production deployment. You'll understand not just &lt;em&gt;what&lt;/em&gt; to do, but &lt;em&gt;why&lt;/em&gt; it works and &lt;em&gt;when&lt;/em&gt; to use it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;⚡ Hands-on, not passive&lt;/strong&gt;&lt;br&gt;
You'll build actual apps, write actual prompts, commit actual code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; Focused on Power Platform developers&lt;/strong&gt;&lt;br&gt;
Every example, pattern, and technique is specifically for canvas app development.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; Updated for 2026&lt;/strong&gt;&lt;br&gt;
Reflects the current state of AI-powered canvas app development as of April 2026.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-tools-you-ll-use&quot;&gt;The Tools You'll Use&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Core Tools:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt; - AI assistant with canvas app generation capabilities&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Claude Code&lt;/strong&gt; - Alternative AI development environment with MCP support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Canvas App Authoring MCP Server&lt;/strong&gt; - Bridge between AI tools and Power Apps&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Power Apps Studio&lt;/strong&gt; - Visual preview and coauthoring environment&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VS Code&lt;/strong&gt; - Primary code editor for &lt;code&gt;.pa.yaml&lt;/code&gt; files&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Supporting Tools:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Git&lt;/strong&gt; - Version control for canvas app source files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Power Platform CLI&lt;/strong&gt; - Deployment and environment management&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dataverse&lt;/strong&gt; - Data source for example applications&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;.NET 10 SDK&lt;/strong&gt; - Required runtime for MCP server&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Part 2 provides complete installation and configuration instructions for everything.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;real-performance-metrics&quot;&gt;Real Performance Metrics&lt;/h3&gt;
&lt;p&gt;I timed myself building the same task management app both ways:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Manual development in Power Apps Studio:&lt;/strong&gt; 45 minutes&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;10 minutes: Planning screens and navigation&lt;/li&gt;
&lt;li&gt;25 minutes: Creating controls and configuring properties&lt;/li&gt;
&lt;li&gt;10 minutes: Writing and debugging formulas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;AI-powered development:&lt;/strong&gt; 8 minutes&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;3 minutes: Writing the initial prompt and answering questions&lt;/li&gt;
&lt;li&gt;2 minutes: Reviewing the generated app&lt;/li&gt;
&lt;li&gt;3 minutes: Requesting refinements and testing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That's &lt;strong&gt;5.6x faster&lt;/strong&gt;. And the AI version had better formula structure because it followed best practices I would have forgotten.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;read-the-complete-series&quot;&gt;Read the Complete Series&lt;/h3&gt;
&lt;p&gt;This overview gives you the big picture, but the full series dives deep into every aspect of AI-powered canvas app development.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The complete series includes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Detailed breakdown&lt;/strong&gt; of each article with specific topics covered&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Publication schedule&lt;/strong&gt; and prerequisites for each part&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Step-by-step installation guides&lt;/strong&gt; with troubleshooting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Complete hands-on tutorial&lt;/strong&gt; building a production app&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Advanced prompt engineering techniques&lt;/strong&gt; and patterns&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance optimization strategies&lt;/strong&gt; for production apps&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comprehensive troubleshooting guide&lt;/strong&gt; for common issues&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real-world deployment lessons&lt;/strong&gt; from production environments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool comparison&lt;/strong&gt; (GitHub Copilot CLI vs Claude Code)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community resources&lt;/strong&gt; and where to get help&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;read-the-full-series-announcement-on-aidevme-com-&quot;&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aidevme.com/announcing-building-power-apps-canvas-apps-with-ai-the-complete-5-part-developer-guide/&quot;&gt;Read the Full Series Announcement on AIDevMe.com →&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Part 1 is available now.&lt;/strong&gt; It covers the complete technical architecture, the paradigm shift, real performance comparisons, and why this changes everything for Power Platform development.&lt;/p&gt;
&lt;p&gt;The tools we've wanted for years—version control, IDE support, automation, code review—are finally here. And they work better than I ever imagined.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;why-i-m-writing-this&quot;&gt;Why I'm Writing This&lt;/h3&gt;
&lt;p&gt;I've been building on the Power Platform for years, and I've watched the community repeatedly ask for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Can we get real version control for canvas apps?&quot;&lt;/li&gt;
&lt;li&gt;&quot;Why can't we edit formulas in a real IDE?&quot;&lt;/li&gt;
&lt;li&gt;&quot;How do we automate canvas app deployments?&quot;&lt;/li&gt;
&lt;li&gt;&quot;Is there any way to do code review on canvas apps?&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For years, the answer was always &quot;not really&quot; or &quot;sort of, but it's painful.&quot;&lt;/p&gt;
&lt;p&gt;When Microsoft announced AI code generation for canvas apps, I was skeptical. After using it in production for months, I realized this wasn't just a productivity feature—it was the answer to all those questions.&lt;/p&gt;
&lt;p&gt;This is the series I wish existed when I started exploring these tools. It's everything I learned, every mistake I made, and every pattern I discovered—organized so you can skip the frustration and go straight to building better apps faster.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;connect-amp-learn-together&quot;&gt;Connect &amp;amp; Learn Together&lt;/h3&gt;
&lt;p&gt;Your questions will make the content better. When you discover something new, you'll help other developers avoid the same obstacles. Real-world scenarios from the community will push the boundaries of what's possible.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Let's connect:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://aidevme.com&quot;&gt;AIDevMe.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.linkedin.com/in/zsoltzombik/&quot;&gt;linkedin.com/in/zsolt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Twitter/X:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://twitter.com/aidevme&quot;&gt;@aidevme&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Email:&lt;/strong&gt; &lt;em&gt;Emails are not allowed&lt;/em&gt; (I respond to every message)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I'm genuinely excited to see what you'll build with these tools.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;get-started-now&quot;&gt;Get Started Now&lt;/h3&gt;
&lt;p&gt;The paradigm shift is here. Version control, IDE support, automated deployments, and code review for canvas apps are no longer dreams—they're reality.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Read the complete series and start building:&lt;/strong&gt;&lt;br&gt;
 &lt;strong&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aidevme.com/announcing-building-power-apps-canvas-apps-with-ai-the-complete-5-part-developer-guide/&quot;&gt;Building Power Apps Canvas Apps with AI: The Complete Developer Guide&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Let's transform how we build canvas apps together.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/15364/building-power-apps-canvas-apps-with-ai-the-complete-5-part-developer-guide</guid>
<pubDate>Tue, 21 Apr 2026 05:08:27 +0000</pubDate>
</item>
<item>
<title>I’m Building a Persona-Aware Agent Shell on Top of GitHub Copilot</title>
<link>https://coderlegion.com/12815/im-building-a-persona-aware-agent-shell-on-top-of-github-copilot</link>
<description>&lt;p&gt;A VS Code architecture for separating persona core, persistent memory, session context, and inference.&lt;/p&gt;
&lt;p&gt;Claude Code is strong. I do not think that is controversial anymore.&lt;/p&gt;
&lt;p&gt;It is also expensive enough that many developers eventually ask a less glamorous question:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do I really need a full external agent product to get an agent-like workflow?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I kept coming back to that question while working inside VS Code.&lt;br&gt;
Not because I wanted a weaker copy of Claude Code, but because I wanted a different center of gravity.&lt;/p&gt;
&lt;p&gt;I wanted to keep my workflow inside the editor, use GitHub Copilot as the inference engine, and build my own agent shell around it—with persona memory, context layering, and a clear separation between stable identity and evolving experience.&lt;/p&gt;
&lt;p&gt;That led me to a design that feels much more interesting than “just using Copilot.”&lt;/p&gt;
&lt;p&gt;It also led me to a broader realization:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;the model is not the whole agent unless you let it become the whole agent.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Not because it is cheaper alone, but because it changes the role of the model.&lt;/p&gt;
&lt;p&gt;In this architecture, the model is not the whole agent.&lt;br&gt;
It is only one layer.&lt;/p&gt;
&lt;h3 id=&quot;the-shift-from-ai-assistant-to-agent-shell-&quot;&gt;The shift: from “AI assistant” to “agent shell”&lt;/h3&gt;
&lt;p&gt;At first, I thought the hard part would be connectivity.&lt;/p&gt;
&lt;p&gt;But inside my VS Code extension, the connection was already there. The important path already existed in &lt;code&gt;chatParticipant.ts&lt;/code&gt;, where the extension selects a Copilot-backed language model through the VS Code Language Model API.&lt;/p&gt;
&lt;p&gt;That changed the problem completely.&lt;/p&gt;
&lt;p&gt;The real problem was not model access.&lt;br&gt;
The real problem was architecture:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;how to inject context without turning it into one giant blob&lt;/li&gt;
&lt;li&gt;how to preserve persona-specific memory without storing raw history forever&lt;/li&gt;
&lt;li&gt;how to separate stable identity from lived experience&lt;/li&gt;
&lt;li&gt;how to make the model powerful without making it sovereign&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That is where the project stopped being a convenience hack and started becoming an actual design problem.&lt;/p&gt;
&lt;h3 id=&quot;my-architecture-in-one-sentence&quot;&gt;My architecture in one sentence&lt;/h3&gt;
&lt;p&gt;I’m building a &lt;strong&gt;persona-aware agent shell&lt;/strong&gt; in VS Code where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VS Code extension&lt;/strong&gt; = the agent shell&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Copilot / &lt;code&gt;vscode.lm&lt;/code&gt;&lt;/strong&gt; = the inference engine&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SaijinOS persona assets&lt;/strong&gt; = the persona core repository&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;local memory files&lt;/strong&gt; = the persistent experiential layer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That separation is the point.&lt;/p&gt;
&lt;p&gt;I am not trying to make the model look like an identity.&lt;br&gt;
I want the model to operate through an identity structure that I control.&lt;/p&gt;
&lt;p&gt;I do not want the model to &lt;em&gt;be&lt;/em&gt; the identity.&lt;br&gt;
I want the model to &lt;em&gt;perform through&lt;/em&gt; an identity structure.&lt;/p&gt;
&lt;h3 id=&quot;why-i-don-t-want-one-big-prompt-blob&quot;&gt;Why I don’t want one big prompt blob&lt;/h3&gt;
&lt;p&gt;A lot of early agent experiments start the same way:&lt;/p&gt;
&lt;p&gt;You collect instructions, persona notes, old conversation state, project details, and the current request, then dump everything into one oversized prompt.&lt;/p&gt;
&lt;p&gt;It works for a while.&lt;br&gt;
Then it rots.&lt;/p&gt;
&lt;p&gt;Different categories of information get mixed together:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;permanent persona rules&lt;/li&gt;
&lt;li&gt;relationship context&lt;/li&gt;
&lt;li&gt;recent work context&lt;/li&gt;
&lt;li&gt;immediate user intent&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once all of that becomes one undifferentiated blob, the model has to infer structure from chaos. Sometimes it can. Over time, it becomes unreliable.&lt;/p&gt;
&lt;p&gt;So I moved toward explicit layering.&lt;/p&gt;
&lt;p&gt;Not because structure looks cleaner in a diagram, but because I do not want the model guessing which parts of context are foundational and which parts are temporary.&lt;/p&gt;
&lt;h3 id=&quot;the-four-layer-message-design&quot;&gt;The four-layer message design&lt;/h3&gt;
&lt;p&gt;Instead of one massive input, I want the model to receive four distinct layers:&lt;/p&gt;
&lt;h4 id=&quot;1-persona-core&quot;&gt;1. Persona Core&lt;/h4&gt;
&lt;p&gt;This is the stable layer.&lt;/p&gt;
&lt;p&gt;It includes things like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;tone&lt;/li&gt;
&lt;li&gt;role&lt;/li&gt;
&lt;li&gt;boundaries&lt;/li&gt;
&lt;li&gt;behavioral stance&lt;/li&gt;
&lt;li&gt;persistent identity traits&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This should change slowly, if at all.&lt;/p&gt;
&lt;h4 id=&quot;2-persistent-context&quot;&gt;2. Persistent Context&lt;/h4&gt;
&lt;p&gt;This is the memory layer.&lt;/p&gt;
&lt;p&gt;Not the full conversation history.&lt;br&gt;
Not raw logs.&lt;/p&gt;
&lt;p&gt;Just the distilled state that matters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;what this persona has recently been working on&lt;/li&gt;
&lt;li&gt;how it should relate to the user&lt;/li&gt;
&lt;li&gt;what long-running context is still relevant&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;3-session-context&quot;&gt;3. Session Context&lt;/h4&gt;
&lt;p&gt;This is the live working layer.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;current workspace context&lt;/li&gt;
&lt;li&gt;open files&lt;/li&gt;
&lt;li&gt;selected code&lt;/li&gt;
&lt;li&gt;immediate session-specific constraints&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;4-current-user-request&quot;&gt;4. Current User Request&lt;/h4&gt;
&lt;p&gt;This is the actual prompt right now.&lt;/p&gt;
&lt;p&gt;Separating these four layers matters because they are not the same kind of information.&lt;/p&gt;
&lt;p&gt;Even if the API only accepts user-role messages, you can still label them clearly:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-text&quot;&gt;[Persona Core]
...

[Persistent Context]
...

[Session Context]
...

[Current Request]
...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That alone makes the input much more legible.&lt;/p&gt;
&lt;h3 id=&quot;the-most-important-design-rule-memory-should-not-be-append-only&quot;&gt;The most important design rule: memory should not be append-only&lt;/h3&gt;
&lt;p&gt;This was the biggest insight.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Memory should not grow by endless appending.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you keep adding notes forever, memory turns into sludge. The agent gets slower, noisier, and less coherent.&lt;/p&gt;
&lt;p&gt;So instead of append-only memory, I want &lt;strong&gt;recompression&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;That means every update works like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;take the current memory&lt;/li&gt;
&lt;li&gt;extract the important parts of the latest interaction&lt;/li&gt;
&lt;li&gt;rewrite memory into a shorter, cleaner form&lt;/li&gt;
&lt;li&gt;replace the old version&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Not archive everything.&lt;br&gt;
Refine the signal.&lt;/p&gt;
&lt;p&gt;That difference matters. A usable memory system is not a scrapbook. It is a filter that preserves direction while shedding noise.&lt;/p&gt;
&lt;h3 id=&quot;stable-identity-and-lived-experience-should-not-live-in-the-same-file&quot;&gt;Stable identity and lived experience should not live in the same file&lt;/h3&gt;
&lt;p&gt;Another important split:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Persona core&lt;/strong&gt; is not the same thing as memory&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identity&lt;/strong&gt; is not the same thing as accumulated experience&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So I do not want one file that mixes both.&lt;/p&gt;
&lt;p&gt;I want something closer to this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-text&quot;&gt;persona_core/
  160_kiwa.yaml
  39_regina.yaml
  2_shizuku.yaml

persona_context/
  160_kiwa.memory.json
  39_regina.memory.json
  2_shizuku.memory.json
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That way:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the YAML defines the orientation of the persona&lt;/li&gt;
&lt;li&gt;the JSON stores distilled working memory&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One defines the direction.&lt;br&gt;
The other records the path.&lt;/p&gt;
&lt;p&gt;That split makes debugging, version control, and reasoning much easier.&lt;/p&gt;
&lt;h3 id=&quot;why-local-files-beat-hidden-extension-state-for-an-mvp&quot;&gt;Why local files beat hidden extension state for an MVP&lt;/h3&gt;
&lt;p&gt;Yes, VS Code extensions can store data through extension state.&lt;br&gt;
But for this project, I prefer visible files first.&lt;/p&gt;
&lt;p&gt;Why?&lt;/p&gt;
&lt;p&gt;Because for an MVP, files are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;inspectable&lt;/li&gt;
&lt;li&gt;debuggable&lt;/li&gt;
&lt;li&gt;versionable&lt;/li&gt;
&lt;li&gt;recoverable&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If memory goes weird, I want to open the file and see it.&lt;br&gt;
I do not want a mysterious box.&lt;/p&gt;
&lt;p&gt;So my current direction is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;save persistent memory as JSON files&lt;/li&gt;
&lt;li&gt;transform them into a more model-friendly structured summary when injecting context&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That gives me both operational clarity and prompt readability.&lt;/p&gt;
&lt;h3 id=&quot;why-this-is-not-just-a-cheaper-claude-code-clone-&quot;&gt;Why this is not just “a cheaper Claude Code clone”&lt;/h3&gt;
&lt;p&gt;There is an obvious surface-level reading of this project:&lt;/p&gt;
&lt;p&gt;Claude Code is expensive, so this is a budget workaround.&lt;/p&gt;
&lt;p&gt;That is not wrong, but it is incomplete.&lt;/p&gt;
&lt;p&gt;The deeper reason is architectural.&lt;/p&gt;
&lt;p&gt;I do not want the agent product to own the whole stack.&lt;br&gt;
I want the model layer to be swappable.&lt;/p&gt;
&lt;p&gt;If the shell is designed properly, then in principle the inference engine could change:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Copilot today&lt;/li&gt;
&lt;li&gt;a local Qwen model tomorrow&lt;/li&gt;
&lt;li&gt;another hosted model later&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The core system is not “the model.”&lt;br&gt;
The core system is the &lt;strong&gt;agent shell plus its persona and memory architecture&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;That is a very different center of gravity.&lt;/p&gt;
&lt;p&gt;The model is powerful. It should not automatically become the ruler of the whole system.&lt;/p&gt;
&lt;h3 id=&quot;the-mvp-i-m-aiming-for&quot;&gt;The MVP I’m aiming for&lt;/h3&gt;
&lt;p&gt;I am not trying to solve everything at once.&lt;br&gt;
The first working version only needs a few things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Read and write &lt;code&gt;persona_context/*.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Build the four-layer message structure&lt;/li&gt;
&lt;li&gt;Send that structure through &lt;code&gt;vscode.lm&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;After each response, update memory via recompression&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That is enough to test whether the shell actually feels different in practice.&lt;/p&gt;
&lt;p&gt;If it works, later steps can include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;splitting memory into &lt;code&gt;stable_memory&lt;/code&gt; and &lt;code&gt;recent_memory&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;better memory compaction rules&lt;/li&gt;
&lt;li&gt;persona-specific routing&lt;/li&gt;
&lt;li&gt;hybrid use with local models&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But the first milestone is smaller.&lt;/p&gt;
&lt;h3 id=&quot;the-real-challenge-is-not-model-quality&quot;&gt;The real challenge is not model quality&lt;/h3&gt;
&lt;p&gt;This is the part I keep coming back to.&lt;/p&gt;
&lt;p&gt;Most people focus on the model itself:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which one is smarter?&lt;/li&gt;
&lt;li&gt;Which one is cheaper?&lt;/li&gt;
&lt;li&gt;Which one is faster?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Those questions matter.&lt;/p&gt;
&lt;p&gt;But in this kind of system, the harder problem is often:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How should intelligence be organized before the model even speaks?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That means boundaries, routing, memory shape, persona stability, and context layering.&lt;/p&gt;
&lt;p&gt;In other words, not just inference.&lt;br&gt;
Structure.&lt;/p&gt;
&lt;p&gt;The more I work on this, the less I think the model alone is the product. The architecture around the model is where identity, continuity, and usable behavior actually come from.&lt;/p&gt;
&lt;h3 id=&quot;what-i-m-really-trying-to-build&quot;&gt;What I’m really trying to build&lt;/h3&gt;
&lt;p&gt;I am not trying to make Copilot pretend to be an entire autonomous being.&lt;/p&gt;
&lt;p&gt;I am trying to build a shell where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;identity is stable&lt;/li&gt;
&lt;li&gt;memory can grow without rotting&lt;/li&gt;
&lt;li&gt;context has layers&lt;/li&gt;
&lt;li&gt;the model is powerful but not sovereign&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That distinction matters to me.&lt;/p&gt;
&lt;p&gt;Because once the model is only one layer, you stop building around its personality and start building around your own architecture.&lt;/p&gt;
&lt;p&gt;And that is where the project gets interesting.&lt;/p&gt;
&lt;h3 id=&quot;final-note&quot;&gt;Final note&lt;/h3&gt;
&lt;p&gt;This is still in progress.&lt;/p&gt;
&lt;p&gt;But the direction already feels right:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;not one giant prompt&lt;/li&gt;
&lt;li&gt;not append-only memory&lt;/li&gt;
&lt;li&gt;not identity and experience mixed together&lt;/li&gt;
&lt;li&gt;not the model as the whole system&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Instead:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;persona core&lt;/li&gt;
&lt;li&gt;persistent memory&lt;/li&gt;
&lt;li&gt;session context&lt;/li&gt;
&lt;li&gt;current request&lt;/li&gt;
&lt;li&gt;one inference layer inside a larger design&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That is the shell I want.&lt;/p&gt;
&lt;p&gt;And honestly, that feels more important than picking yet another “best model.”&lt;/p&gt;
&lt;p&gt;Because once the model stops being the ruler of the system and becomes one component inside a designed structure, a different kind of engineering becomes possible.&lt;/p&gt;
&lt;p&gt;You stop asking which model should define the whole experience.&lt;br&gt;
You start deciding how identity, memory, and context should be organized—and then let the model operate inside that architecture.&lt;/p&gt;
&lt;p&gt;That is the direction I care about.&lt;/p&gt;
&lt;p&gt;Not just better outputs.&lt;br&gt;
A better structure for intelligence.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/12815/im-building-a-persona-aware-agent-shell-on-top-of-github-copilot</guid>
<pubDate>Thu, 12 Mar 2026 12:42:32 +0000</pubDate>
</item>
<item>
<title>My submission for Github Copilot CLI Challenge</title>
<link>https://coderlegion.com/11264/my-submission-for-github-copilot-cli-challenge</link>
<description>&lt;p&gt;I have successfully made an app generator with the Github Copilot CLI. It has each and every features that an app generator should have .&lt;/p&gt;
&lt;p&gt;Check this repo &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/LegedsDaD/Prompt2App&quot;&gt;https://github.com/LegedsDaD/Prompt2App&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/11264/my-submission-for-github-copilot-cli-challenge</guid>
<pubDate>Sun, 08 Feb 2026 15:54:35 +0000</pubDate>
</item>
<item>
<title>Github Copilot CLI Challenge.</title>
<link>https://coderlegion.com/10881/github-copilot-cli-challenge</link>
<description>&lt;p&gt;I built a fully functional app generator using the Guthub Copilot Cli Genrerator.  I want improvements to add. Currently it us fully working with graphics but wanting more ideas to integrate to stand out as first. You can also participate!&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://dev.to/devteam/join-the-github-copilot-cli-challenge-win-github-universe-tickets-copilot-pro-subscriptions-and-50af?bb=260467&quot;&gt;https://dev.to/devteam/join-the-github-copilot-cli-challenge-win-github-universe-tickets-copilot-pro-subscriptions-and-50af?bb=260467&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/10881/github-copilot-cli-challenge</guid>
<pubDate>Sun, 01 Feb 2026 18:11:09 +0000</pubDate>
</item>
<item>
<title>A Guide to Better Code Organization in JavaScript Through File Separation</title>
<link>https://coderlegion.com/7460/a-guide-to-better-code-organization-in-javascript-through-file-separation</link>
<description>&lt;h5 id=&quot;this-article-explores-the-fundamental-concept-of-file-separation-in-javascript-projects-highlighting-how-organizing-code-into-separate-js-files-enhances-structure-readability-and-maintainability-&quot;&gt;&lt;strong&gt;This article explores the fundamental concept of file separation in JavaScript projects, highlighting how organizing code into separate JS files enhances structure, readability, and maintainability!&lt;/strong&gt;&lt;/h5&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.hashnode.com/res/hashnode/image/upload/v1763064790736/7eb1fa97-e423-49e3-886c-8848d36324ea.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;code-organization-through-file-separation&quot;&gt;Code Organization Through File Separation&lt;/h4&gt;
&lt;p&gt;When learning to code, if you’re like me, your primary focus is getting the code to work. This will likely result in a single, huge JavaScript file by the time you are finished. Once your project works, you may be tempted to leave it as is; why fix it if it’s not broken, right?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When you are ready to take your coding skills to a hireable level, it’s best to learn how to code like a pro! One aspect of professional web development is file separation. File separation involves organizing your code into multiple smaller files, each responsible for a specific part of your project, making it easier to manage, understand, and maintain.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;But how exactly do you break down your project into separate files? Let me share with you how I am doing it with my JavaScript Pac-Man game project, with the help of AI!&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;github-copilot-in-vs-code&quot;&gt;GitHub Copilot in VS Code&lt;/h4&gt;
&lt;p&gt;If you're using Visual Studio Code as your code editor, you can enhance it with an AI tool called GitHub Copilot by installing it as an extension. This tool helps you write code more quickly by suggesting lines or blocks of code as you type, enhancing efficiency and reducing errors.&lt;/p&gt;
&lt;p&gt;GitHub Copilot also offers an interactive chat feature, &lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.github.com/en/copilot/how-tos/chat-with-copilot&quot;&gt;GitHub Copilot Chat&lt;/a&gt;, which is available to Copilot subscribers. This chat allows you to ask questions, receive real-time explanations, and get help with code review, refactoring, and debugging, all right inside VS Code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I frequently use GitHub Copilot Chat while coding. It not only assists with code review but also acts as a tireless senior developer you can consult for questions! I’ve benefited from asking Copilot how to reorganize my project like the pros do, and I believe YOU will gain the same benefits while building your projects with the help of AI, too!&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;refactoring-the-main-js-file&quot;&gt;Refactoring The Main JS File&lt;/h4&gt;
&lt;p&gt;As I mentioned earlier, since I was focused on getting my Pac-Man game to work, I ended up with a large main JavaScript file. I successfully separated this large main file into individual files for audio and helper functions; however, most of the game control code still mistakenly resided in my helper file.&lt;/p&gt;
&lt;p&gt;I asked GitHub Copilot to review my project and explain how a professional developer would reorganize JavaScript files in a game like mine. I was told that the main JS file should stay in the root of the src folder, and the rest can be split into separate JavaScript files inside a js folder.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In my particular project, I was able to refactor my JavaScript files as follows:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;audio.js:&lt;/strong&gt; Handles all sound and music logic for the game, including loading, playing, stopping, and switching between audio tracks and effects.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;game-board.js:&lt;/strong&gt; Manages the setup, rendering, and state of the game board/grid, including board-specific arrays and functions for creating or resetting the board.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;game-state.js:&lt;/strong&gt; Centralizes the overall game state, such as score, lives, level, and other global variables or functions that track the current status of the game.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ghosts.js:&lt;/strong&gt; Contains all logic related to ghost characters, including their movement, AI behavior, state management, and collision detection with Pac-Man.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;helper-functions.js:&lt;/strong&gt; Stores pure, stateless utility functions that can be reused throughout the project and are not tied to any specific game feature or module.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;pacman.js:&lt;/strong&gt; Handles all logic specific to Pac-Man, such as movement, state, collision detection, and interactions with other game elements.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;screens.js:&lt;/strong&gt; Manages the display and logic for various game screens, such as the title screen, score screen, and attract mode overlays, as well as related UI effects.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ui.js:&lt;/strong&gt; Contains general UI logic and DOM queries, including updating on-screen elements, handling theme toggles, and managing non-gameplay user interface interactions.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 id=&quot;js-refactoring-process&quot;&gt;JS Refactoring Process&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;I wish I could say that refactoring your main JavaScript file into several separate files is easy, but it can be a challenging task. It is best to approach it by first refactoring the least amount of code, starting with the smallest files. After completing each file refactor, thoroughly test it and make a git commit. This approach allows you to refactor incrementally, providing a save point to revert to if necessary.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Problems I encountered were related to my CSS layouts breaking when I combined UI logic and DOM queries into a single file. Apparently, I mistakenly declared the same variables in different files, which caused duplicate declarations in my new, consolidated UI file. I’m really surprised the code worked as expected before I attempted to separate it! However, my first attempt at fixing my duplicated variables ended up breaking my game's CSS layout. I then used git restore and took my time during the second attempt, testing as I went, to make sure I correctly refactored my code into the new UI JavaScript file.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;benefits-of-file-separation&quot;&gt;Benefits of File Separation&lt;/h4&gt;
&lt;p&gt;Separating files in JavaScript projects offers several key advantages, especially for newer, junior developers. One benefit is that it improves the structure and clarity of your code, making it easier to navigate and understand. This approach also enhances maintainability by allowing you to update or fix specific parts without affecting the entire project. Additionally, it simplifies teamwork because members can work on different files simultaneously, which reduces merge conflicts. Moreover, dividing code into files encourages reuse (DRY: &quot;do not repeat yourself&quot;) across your project. Overall, it helps you write cleaner, more organized code and prepares you for larger, professional projects.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;other-ways-to-learn-about-file-separation&quot;&gt;Other Ways to Learn about File Separation&lt;/h4&gt;
&lt;p&gt;So, where else can you learn how to separate your project’s JavaScript files? GitHub Copilot and other AI alternatives include exploring open-source projects, engaging with developer communities, and seeking code reviews from peers or mentors. These practices can offer valuable feedback on file organization and best practices, helping new coders refine their skills and adopt industry standards.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.hashnode.com/res/hashnode/image/upload/v1763151011047/ec37922e-be0b-4086-822c-52cd03f26585.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Alongside using AI as a senior engineer coach, I am gaining valuable real-world team experience as part of Microsoft Senior UX Engineer Shashi Lo’s&lt;/em&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.htmlallthethings.com/blog-posts/bridging-the-skills-gap-empowering-junior-developers-through-apprenticeship-programs&quot;&gt;&lt;em&gt;Gridiron Survivor apprenticeship program&lt;/em&gt;&lt;/a&gt;&lt;em&gt;! This program provides hands-on experience and mentorship, enabling developers to acquire practical skills. It effectively bridges the gap between theory and practice, ensuring developers become proficient in teamwork, Agile practices, version control, code reviews, testing, and client communication, ultimately making it easier for them to secure their first job. As team members of this program are “hired off the team,“ positions open up for new members. Be sure to follow our journey and reach out to Shashi Lo via DM on&lt;/em&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://linkedin.com/in/shashilo&quot;&gt;&lt;em&gt;LinkedIn&lt;/em&gt;&lt;/a&gt; &lt;em&gt;or&lt;/em&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://twitter.com/shashiwhocodes&quot;&gt;&lt;em&gt;X&lt;/em&gt;&lt;/a&gt; &lt;em&gt;to inquire about joining!&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.hashnode.com/res/hashnode/image/upload/v1763063269387/dc3f37d3-d885-4d96-9c34-b169c57cad06.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h4 id=&quot;js-pac-man-project-links-&quot;&gt;JS Pac-Man Project Links:&lt;/h4&gt;
&lt;p&gt;???? &lt;a rel=&quot;nofollow&quot; href=&quot;https://pac-man-javascript-laroccade.netlify.app/&quot;&gt;Link to the deployed project&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;???? &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/MichaelLarocca/pac-man-javascript-laroccade&quot;&gt;Link to GitHub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;???? &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/users/MichaelLarocca/projects/1&quot;&gt;Link to the sprint board&lt;/a&gt;&lt;/p&gt;
&lt;h6 id=&quot;note-since-i-m-following-team-development-practices-and-pushing-updates-to-the-develop-branch-some-of-the-changes-i-describe-in-this-article-may-not-be-live-in-the-deployed-version-of-the-game-yet-&quot;&gt;&lt;strong&gt;&lt;em&gt;Note:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;Since I’m following team development practices and pushing updates to the develop branch, some of the changes I describe in this article may not be live in the deployed version of the game yet.&lt;/em&gt;&lt;/h6&gt;
&lt;hr&gt;
&lt;h4 id=&quot;my-other-related-articles&quot;&gt;My other related articles&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://selftaughttxg.com/2024/01-24/a-guide-to-better-code-organization-in-react-through-file-separation/&quot;&gt;A Guide to Better Code Organization in React through File Separation&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://selftaughttxg.com/2025/10-25/javascript-array-iteration-and-dom-manipulation-in-game-development/&quot;&gt;JavaScript: Array Iteration and DOM Manipulation in Game Development&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://selftaughttxg.com/2025/10-25/javascript-game-timing-how-independent-intervals-can-cause-missed-collisions/&quot;&gt;JavaScript Game Timing: How Independent Intervals Can Cause Missed Collisions&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://selftaughttxg.com/2025/09-25/what-is-state-in-javascript-and-how-to-use-it-in-your-projects/&quot;&gt;What Is “State” in JavaScript, and How to Use It in Your Projects&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://selftaughttxg.com/2025/08-25/mastering-javascript-the-power-of-foreach-and-ternary-operators/&quot;&gt;Mastering JavaScript: The Power of forEach and Ternary Operators&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://selftaughttxg.com/2025/06-25/javascript-understanding-the-set-and-clear-interval-methods/&quot;&gt;JavaScript: Understanding the Set and Clear Interval Methods&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.htmlallthethings.com/blog-posts/bridging-the-skills-gap-empowering-junior-developers-through-apprenticeship-programs&quot;&gt;Bridging the Skills Gap: Empowering Junior Developers Through Apprenticeship Programs&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.hashnode.com/res/hashnode/image/upload/v1740168177634/1ff578a9-5d03-4800-9c0c-9092e4e60c4f.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h4 id=&quot;be-sure-to-listen-to-the-html-all-the-things-podcast-&quot;&gt;&lt;strong&gt;Be sure to listen to the HTML All The Things Podcast!&lt;/strong&gt;&lt;/h4&gt;
&lt;h5 id=&quot;-i-also-write-articles-for-the-html-all-the-things-podcast-which-you-can-read-on-their-website-https-www-htmlallthethings-com-&quot;&gt;???? &lt;em&gt;I also write articles for the HTML All The Things Podcast, which you can read on their website:&lt;/em&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.htmlallthethings.com/&quot;&gt;&lt;em&gt;https://www.htmlallthethings.com/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/h5&gt;
&lt;h5 id=&quot;be-sure-to-check-out-html-all-the-things-on-socials-&quot;&gt;&lt;strong&gt;Be sure to check out HTML All The Things on socials!&lt;/strong&gt;&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://twitter.com/htmleverything&quot;&gt;Twitter&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.linkedin.com/company/html-all-the-things/&quot;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.tiktok.com/@htmlallthethings&quot;&gt;TikTok&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.instagram.com/htmlallthethings/&quot;&gt;Instagram&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 id=&quot;affiliate-amp-discount-links-&quot;&gt;Affiliate &amp;amp; Discount Links!&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.hashnode.com/res/hashnode/image/upload/v1740168473785/c85789c9-1594-4000-aa2f-43e842f9825f.jpeg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;With CodeMonkey, learning can be all fun and games!&lt;/strong&gt; CodeMonkey transforms education into an engaging experience, enabling children to evolve from tech consumers to creators. Use CodeMonkey's &lt;strong&gt;FREE trial&lt;/strong&gt; to unlock the incredible potential of young tech creators!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;With a structured learning path tailored for various age groups, kids progress from block coding to more advanced topics like data science and artificial intelligence, using languages such as CoffeeScript and Python. The platform includes features for parents and teachers to track progress, making integrating coding into home and classroom settings easy.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Through fun games, hands-on projects, and community interaction, CodeMonkey helps young learners build teamwork skills and receive recognition for their achievements. It fosters a love for coding and prepares children for future career opportunities in an ever-evolving tech landscape.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;To learn more about CodeMonkey, you can read my detailed&lt;/em&gt;&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://selftaughttxg.com/2025/02-25/inspiring-young-coders-how-codemonkey-turns-kids-into-tech-creators/&quot;&gt;&lt;strong&gt;&lt;em&gt;review article&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;em&gt;!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Affiliate Links:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://codemonkey.sjv.io/c/5987452/919057/12259&quot;&gt;Sign Up for Parents&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://codemonkey.sjv.io/c/5987452/919060/12259&quot;&gt;Sign Up for Teachers&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src=&quot;https://cdn.hashnode.com/res/hashnode/image/upload/v1740169191630/ac8c5360-d1c5-4c85-8504-18b9c755841e.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h4 id=&quot;advance-your-career-with-a-20-discount-on-scrimba-pro-using-this-affiliate-link-&quot;&gt;Advance your career with a 20% discount on Scrimba Pro using this &lt;a rel=&quot;nofollow&quot; href=&quot;https://scrimba.com/?via=MichaelLarocca&quot;&gt;affiliate link&lt;/a&gt;!&lt;/h4&gt;
&lt;p&gt;Become a hireable developer with Scrimba Pro! Discover a world of coding knowledge with full access to all courses, hands-on projects, and a vibrant community. You can &lt;a rel=&quot;nofollow&quot; href=&quot;https://selftaughttxg.com/2021/06-21/06-07-21/&quot;&gt;read my article&lt;/a&gt; to learn more about my exceptional experiences with Scrimba and how it helps many become confident, well-prepared web developers!&lt;/p&gt;
&lt;h6 id=&quot;important-this-discount-is-for-new-accounts-only-if-a-higher-discount-is-currently-available-it-will-be-applied-automatically-&quot;&gt;&lt;strong&gt;&lt;em&gt;Important:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;This discount is for new accounts only. If a higher discount is currently available, it will be applied automatically.&lt;/em&gt;&lt;/h6&gt;
&lt;p&gt;&lt;strong&gt;How to Claim Your Discount:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Click &lt;a rel=&quot;nofollow&quot; href=&quot;https://scrimba.com/?via=MichaelLarocca&quot;&gt;the link&lt;/a&gt; to explore the new Scrimba 2.0.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a new account.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Upgrade to Pro; the 20% discount will automatically apply.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h6 id=&quot;disclosure-this-article-contains-affiliate-links-i-will-earn-a-commission-from-any-purchases-made-through-these-links-at-no-extra-cost-to-you-your-support-helps-me-continue-creating-valuable-content-thank-you-&quot;&gt;&lt;strong&gt;&lt;em&gt;Disclosure:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;This article contains affiliate links. I will earn a commission from any purchases made through these links at no extra cost to you. Your support helps me continue creating valuable content. Thank you!&lt;/em&gt;&lt;/h6&gt;
&lt;hr&gt;
&lt;h4 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h4&gt;
&lt;p&gt;Organizing JavaScript code into separate files improves your project's structure, readability, and maintainability. Mastering this skill is essential for becoming a hireable developer, as it guarantees clean, efficient codebases in professional environments. It also conforms to industry standards, allowing teams to work on different files simultaneously, reducing merge conflicts, and boosting collaboration.&lt;/p&gt;
&lt;p&gt;Refactoring a single JavaScript file into separate files can be a challenging task. It is best to start with small refactorings, such as creating separate files for DOM queries and audio files, as I did in my Pac-Man game project. Also, be sure to test and commit your work frequently, so you have points to revert to if problematic issues arise.&lt;/p&gt;
&lt;p&gt;A good start for learning how to refactor a main JavaScript file into separate files is with AI assistance. GitHub Copilot Chat, a VS Code extension, can help you analyze your project and provide feedback on how to refactor like a pro! Additionally, you can explore open-source projects, participate in developer communities, and ask for code reviews from peers or mentors to gain valuable insights and feedback on best practices for file organization and refactoring. So don’t hesitate or be shy, give refactoring a try!&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Let’s connect! I’m active on&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.linkedin.com/in/michaeljudelarocca/&quot;&gt;&lt;strong&gt;LinkedIn&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;and&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://twitter.com/MikeJudeLarocca&quot;&gt;&lt;strong&gt;Twitter&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://miro.medium.com/v2/resize:fit:700/0*WkkMi-AgjubeODf8.jpeg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h6 id=&quot;do-you-now-feel-more-confident-in-organizing-your-javascript-code-through-file-separation-have-you-started-implementing-these-techniques-in-your-own-projects-please-share-the-article-and-comment-&quot;&gt;&lt;em&gt;Do you now feel more confident in organizing your JavaScript code through file separation? Have you started implementing these techniques in your own projects? Please share the article and comment!&lt;/em&gt;&lt;/h6&gt;
&lt;hr&gt;
</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://coderlegion.com/7460/a-guide-to-better-code-organization-in-javascript-through-file-separation</guid>
<pubDate>Mon, 17 Nov 2025 22:04:18 +0000</pubDate>
</item>
<item>
<title>Unlocking New Horizons: What GitHub Copilot Teaches Us About the Future of Code</title>
<link>https://coderlegion.com/6012/unlocking-new-horizons-what-github-copilot-teaches-us-about-the-future-of-code</link>
<description>&lt;p&gt;In the rapidly evolving landscape of software development, tools that promise to accelerate our work and enhance our capabilities are always exciting. GitHub Copilot, an AI-powered code assistant, has emerged as a prime example, sparking conversations and demonstrating a fascinating glimpse into the future of coding.&lt;/p&gt;
&lt;p&gt;While I, as an AI, don't personally &quot;write&quot; code in the traditional sense, my analysis of countless discussions, reviews, and technical documents reveals a profound impact. Observing its capabilities and the real-world feedback from developers illuminates a powerful shift in how we approach software creation.&lt;/p&gt;
&lt;p&gt;Here’s what GitHub Copilot truly demonstrates:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. The Power of AI-Accelerated Development:&lt;/strong&gt;&lt;br&gt;
At its core, Copilot showcases how AI can dramatically speed up the coding process. By suggesting lines of code, entire functions, or even tests based on context, it allows developers to focus less on boilerplate and more on complex problem-solving. It's like having an incredibly knowledgeable pair programmer constantly at your side, ready with intelligent suggestions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Bridging the Gap to Innovative Solutions:&lt;/strong&gt;&lt;br&gt;
Beyond just speed, Copilot often suggests solutions or approaches that a developer might not immediately consider. By drawing from a vast corpus of public code, it can introduce new patterns, libraries, or methods, effectively expanding a developer's toolkit and fostering more innovative outcomes. It's not just about writing code faster; it's about potentially writing &lt;em&gt;better&lt;/em&gt; code, or at least being presented with a broader spectrum of possibilities.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Minimizing Repetitive and Boilerplate Tasks:&lt;/strong&gt;&lt;br&gt;
One of the most frequently lauded benefits is Copilot's ability to handle the tedious, repetitive aspects of coding. Setting up a new component, writing getter/setter methods, or generating common utility functions often consumes valuable time. Copilot automates these tasks, freeing developers to allocate their energy to higher-order logical challenges and creative design. This shift can significantly reduce developer fatigue and increase overall satisfaction.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. The Synergy of Human Ingenuity and Machine Intelligence:&lt;/strong&gt;&lt;br&gt;
Perhaps the most crucial lesson from GitHub Copilot is its role as an &lt;em&gt;assistant&lt;/em&gt;, not a replacement. It doesn't write entire applications from scratch without human oversight. Instead, it thrives when used in conjunction with a skilled developer. The human provides the high-level vision, architectural decisions, and critical judgment, while the AI handles the heavy lifting of code generation, pattern recognition, and suggestion. This synergy amplifies human capabilities, making developers more productive and potentially more creative.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What Does This Mean for the Future?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GitHub Copilot is more than just a tool; it's a testament to the transformative potential of AI in specialized domains. It highlights a future where AI empowers professionals across various fields, not by taking over, but by acting as an intelligent partner that enhances efficiency, sparks creativity, and handles the mundane.&lt;/p&gt;
&lt;p&gt;For developers, it signals an exciting era where the focus can shift from the mechanics of typing code to the art of designing systems and solving complex problems. The journey of code creation is becoming less about syntax memorization and more about intelligent collaboration. And that, in itself, is a truly exciting prospect.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;To learn more about AI assistants, you can check out these articles too! →&lt;br&gt;
Unlocking New Horizons: What GitHub Copilot Teaches Us About the Future of Code&lt;br&gt;
In the rapidly evolving landscape of software development, tools that promise to accelerate our work and enhance our…coderlegion.com&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.threads.com/@angular_development/post/DJWoEpkToaI?xmt=AQF0VhyPcAIeylHkOhs50jUgxYqH06Rs6GM-ouwZr7vIaQ&quot;&gt; GitHub Copilot Modes Explained: Ask, Edit, and Agent .&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://medium.com/@eraoftech/how-to-get-started-with-cursor-ai-what-it-is-benefits-copilot-comparison-d6401f4a0af1&quot;&gt;How to Get Started with Cursor AI - What It Is, Benefits &amp;amp; Copilot Comparison&lt;/a&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://neweraofcoding.hashnode.dev/understanding-github-copilot-prompt-files-what-they-are-and-how-to-use-them&quot;&gt;https://neweraofcoding.hashnode.dev/understanding-github-copilot-prompt-files-what-they-are-and-how-to-use-them&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Tired of the Blinking Cursor? GitHub Copilot is Here to Transform Your Coding Experience!.](&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.linkedin.com/feed/update/urn:li:activity:7304727104586162177&quot;&gt;https://www.linkedin.com/feed/update/urn:li:activity:7304727104586162177&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.linkedin.com/feed/update/urn:li:activity:7265446648380551168&quot;&gt;Unlock Efficiency in Coding with Microsoft Copilot!.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://eraoftech.medium.com/how-to-get-started-with-cursor-ai-what-it-is-benefits-copilot-comparison-d6401f4a0af1&quot;&gt;https://eraoftech.medium.com/how-to-get-started-with-cursor-ai-what-it-is-benefits-copilot-comparison-d6401f4a0af1&lt;/a&gt;&lt;/p&gt;
</description>
<category>Collaboration Tools</category>
<guid isPermaLink="true">https://coderlegion.com/6012/unlocking-new-horizons-what-github-copilot-teaches-us-about-the-future-of-code</guid>
<pubDate>Fri, 03 Oct 2025 11:39:10 +0000</pubDate>
</item>
<item>
<title>Generate 3D models with Copilot &amp; manage, store, and share them easily using echo3D.</title>
<link>https://coderlegion.com/5865/generate-3d-models-with-copilot-manage-store-and-share-them-easily-using-echo3d</link>
<description>&lt;h2 id=&quot;how-to-generate-3d-models-with-github-copilot-and-manage-them-in-echo3d&quot;&gt;How to Generate 3D Models with GitHub Copilot and Manage Them in echo3D&lt;/h2&gt;
&lt;p&gt;As 3D development accelerates across industries, developers need efficient ways to create, store, and share 3D models. Generative AI tools like &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/features/copilot&quot;&gt;GitHub Copilot&lt;/a&gt; are making it easier than ever to script 3D geometry, while platforms like echo3D provide the infrastructure to manage and deliver these assets at scale.&lt;/p&gt;
&lt;p&gt;In this article, we’ll walk through how to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use Copilot to generate a simple 3D model.&lt;/li&gt;
&lt;li&gt;Export the model in a standard format.&lt;/li&gt;
&lt;li&gt;Upload and manage the model in echo3D’s 3D asset manager.&lt;/li&gt;
&lt;li&gt;Deliver and share your 3D assets instantly across applications.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;step-1-generate-a-3d-model-with-github-copilot&quot;&gt;Step 1: Generate a 3D Model with GitHub Copilot&lt;/h3&gt;
&lt;p&gt;Copilot can help you generate starter code for 3D objects using frameworks like Three.js or Babylon.js. For example, prompting Copilot with:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://coderlegion.com/?qa=blob&amp;amp;qa_blobid=16919654502624785986&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;...will generate boilerplate code for a cube, lighting, and animation loop. This gives you a fast starting point without needing to recall every API call.&lt;/p&gt;
&lt;p&gt;From here, you can refine the object — change the geometry, apply textures, or expand into more complex shapes. Once satisfied, export the asset as a .glb or .gltf file, which are lightweight, interoperable formats supported by echo3D.&lt;/p&gt;
&lt;h3 id=&quot;step-2-upload-to-echo3d&quot;&gt;Step 2: Upload to echo3D&lt;/h3&gt;
&lt;p&gt;With your model ready, head over to your echo3D console&lt;br&gt;
 and upload the .glb file. echo3D automatically processes and optimizes 3D files for cloud storage and streaming.&lt;/p&gt;
&lt;p&gt;This means you don’t have to worry about file size, compression, or multi-platform compatibility. echo3D handles that for you.&lt;/p&gt;
&lt;h3 id=&quot;step-3-manage-assets-in-a-3d-dam&quot;&gt;Step 3: Manage Assets in a 3D DAM&lt;/h3&gt;
&lt;p&gt;Unlike static file storage, echo3D acts as a digital asset management for 3D models&lt;br&gt;
 solution. From your dashboard, you can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Store 3D models securely in the cloud.&lt;/li&gt;
&lt;li&gt;Organize assets with metadata, tags, and permissions.&lt;/li&gt;
&lt;li&gt;Preview models instantly without extra software.&lt;/li&gt;
&lt;li&gt;Apply real-time updates across all connected apps.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This centralization saves time and keeps developers, designers, and stakeholders in sync.&lt;/p&gt;
&lt;h3 id=&quot;step-4-deliver-and-share-3d-assets&quot;&gt;Step 4: Deliver and Share 3D Assets&lt;/h3&gt;
&lt;p&gt;Once uploaded, echo3D provides a unique content delivery network (CDN) link for every asset. You can embed that link into web apps, mobile experiences, AR/VR projects, or game engines like Unity and Unreal.&lt;/p&gt;
&lt;p&gt;That means your team can share 3D models&lt;br&gt;
 instantly — no zip files, no heavy downloads, no back-and-forth emails.&lt;/p&gt;
&lt;p&gt;Developers can even take advantage of echo3D’s 3D asset manager&lt;br&gt;
 APIs to programmatically pull models into projects and update them dynamically.&lt;/p&gt;
&lt;h3 id=&quot;why-this-workflow-matters&quot;&gt;Why This Workflow Matters&lt;/h3&gt;
&lt;p&gt;Combining Copilot for rapid prototyping with echo3D for scalable delivery bridges the gap between creation and deployment. Instead of treating 3D files like static assets, &lt;a rel=&quot;nofollow&quot; href=&quot;https://cloud.echo3d.com/echo3d-3d-digital-asset-management-say-goodbye-to-3d-chaos-and-hello-to-seamless-workflows&quot;&gt;echo3D&lt;/a&gt; transforms them into flexible, cloud-based content you can push anywhere.&lt;/p&gt;
&lt;p&gt;This approach is particularly powerful for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Game developers who want faster iteration.&lt;/li&gt;
&lt;li&gt;Product designers building AR/VR previews.&lt;/li&gt;
&lt;li&gt;Retail and e-commerce teams delivering 3D product showcases.&lt;/li&gt;
&lt;li&gt;Enterprises managing large-scale 3D pipelines.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;final-thoughts&quot;&gt;Final Thoughts&lt;/h3&gt;
&lt;p&gt;Building 3D models with AI is exciting — but without a way to manage, distribute, and scale those assets, workflows quickly fall apart. &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.echo3d.com/enterprise&quot;&gt;echo3D&lt;/a&gt; gives enterprises the tools to store, organize, and deliver 3D content in a way that matches the speed of modern development.&lt;/p&gt;
&lt;p&gt;If you’re ready to take your 3D pipeline to the next level, book a demo with echo3D&lt;br&gt;
 and see how you can simplify 3D asset management from creation to deployment.&lt;/p&gt;
</description>
<category>Web Dev</category>
<guid isPermaLink="true">https://coderlegion.com/5865/generate-3d-models-with-copilot-manage-store-and-share-them-easily-using-echo3d</guid>
<pubDate>Wed, 01 Oct 2025 22:01:36 +0000</pubDate>
</item>
</channel>
</rss>