<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: B Donald Harris</title>
    <description>The latest articles on DEV Community by B Donald Harris (@bdonald).</description>
    <link>https://dev.to/bdonald</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F975620%2Fbba86449-e100-4b37-b923-d8e13135df38.jpg</url>
      <title>DEV Community: B Donald Harris</title>
      <link>https://dev.to/bdonald</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bdonald"/>
    <language>en</language>
    <item>
      <title>Why I’m Building BIT Voices in Public</title>
      <dc:creator>B Donald Harris</dc:creator>
      <pubDate>Wed, 18 Mar 2026 13:36:24 +0000</pubDate>
      <link>https://dev.to/bdonald/why-im-building-bit-voices-in-public-2a81</link>
      <guid>https://dev.to/bdonald/why-im-building-bit-voices-in-public-2a81</guid>
      <description>&lt;p&gt;After two decades working in software engineering, one thing became very clear to me:&lt;/p&gt;

&lt;p&gt;There are incredible Black technologists building powerful things — but their stories rarely reach the broader tech conversation.&lt;/p&gt;

&lt;p&gt;So I started building a platform to change that.&lt;/p&gt;

&lt;p&gt;It’s called BIT Voices Network.&lt;/p&gt;

&lt;p&gt;The goal is simple: create a place where Black technologists can share what they’re building, what they’re learning, and what they’re discovering.&lt;/p&gt;

&lt;p&gt;In this article I want to share:&lt;/p&gt;

&lt;p&gt;• why I decided to build the platform&lt;br&gt;
• what I’ve learned so far&lt;br&gt;
• what comes next&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.bitvoices.network/articles/470b2cc1-f1ac-4bd2-a5ab-03ceb7a33b14" rel="noopener noreferrer"&gt;Black Tech Stories Deserve Their Own Stage&lt;/a&gt;&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>career</category>
      <category>community</category>
      <category>startup</category>
    </item>
    <item>
      <title>I Built a VS Code Extension to Simplify .NET Project Creation</title>
      <dc:creator>B Donald Harris</dc:creator>
      <pubDate>Wed, 08 Oct 2025 18:55:10 +0000</pubDate>
      <link>https://dev.to/bdonald/i-built-a-vs-code-extension-to-simplify-net-project-creation-5efa</link>
      <guid>https://dev.to/bdonald/i-built-a-vs-code-extension-to-simplify-net-project-creation-5efa</guid>
      <description>&lt;h2&gt;
  
  
  I Built a VS Code Extension to Simplify .NET Project Creation
&lt;/h2&gt;




&lt;p&gt;After years of typing the same &lt;code&gt;dotnet new&lt;/code&gt; commands over and over, I finally decided to do something about it. Today, I'm excited to share &lt;strong&gt;.NET Scaffolder by NotableBit&lt;/strong&gt;—a VS Code extension that makes creating .NET projects feel effortless.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤔 The Problem
&lt;/h2&gt;

&lt;p&gt;As a .NET developer, how many times have you done this?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dotnet new webapi &lt;span class="nt"&gt;-n&lt;/span&gt; MyProject &lt;span class="nt"&gt;-f&lt;/span&gt; net8.0
&lt;span class="nb"&gt;cd &lt;/span&gt;MyProject
dotnet new sln
dotnet sln add MyProject.csproj
git init
git add &lt;span class="nb"&gt;.&lt;/span&gt;
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Initial commit"&lt;/span&gt;
&lt;span class="c"&gt;# ... and so on&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's tedious, error-prone, and breaks your flow. You have to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remember exact template names (&lt;code&gt;webapi&lt;/code&gt;, &lt;code&gt;blazorwasm&lt;/code&gt;, &lt;code&gt;xunit&lt;/code&gt;, etc.)&lt;/li&gt;
&lt;li&gt;Type out full paths or navigate directories&lt;/li&gt;
&lt;li&gt;Manually configure Git&lt;/li&gt;
&lt;li&gt;Remember which .NET version you want&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;There had to be a better way.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 The Solution
&lt;/h2&gt;

&lt;p&gt;.NET Scaffolder brings visual, intuitive project creation to VS Code. Instead of memorizing CLI commands, you get:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Tree View of Templates&lt;/strong&gt; - Browse 12+ templates organized by category&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Configuration&lt;/strong&gt; - Fill out a form, not a command line&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browse Button&lt;/strong&gt; - Click to select folders (no more typing paths!)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hybrid Git Integration&lt;/strong&gt; - Choose your workflow&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-Click Creation&lt;/strong&gt; - Watch your project scaffold in real-time&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  ✨ Key Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📚 12+ Project Templates
&lt;/h3&gt;

&lt;p&gt;All the templates you use regularly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Console Apps&lt;/strong&gt;: Console, Worker Service&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Apps&lt;/strong&gt;: Web API, MVC, Razor Pages, Blazor Server, Blazor WebAssembly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Libraries&lt;/strong&gt;: Class Library, Razor Class Library&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tests&lt;/strong&gt;: xUnit, NUnit, MSTest&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🌿 Flexible Git Integration
&lt;/h3&gt;

&lt;p&gt;Choose what works for you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local Only&lt;/strong&gt; - &lt;code&gt;git init&lt;/code&gt; + commit, no remote&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub CLI&lt;/strong&gt; - Creates repo and pushes automatically&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Remote&lt;/strong&gt; - Push to GitLab, Bitbucket, self-hosted&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Git&lt;/strong&gt; - Skip it entirely&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎯 Framework Selection
&lt;/h3&gt;

&lt;p&gt;Support for .NET 6.0, 7.0, 8.0, and 9.0—all in a dropdown.&lt;/p&gt;

&lt;h3&gt;
  
  
  📦 Solution Support
&lt;/h3&gt;

&lt;p&gt;Automatically creates solution files and adds your project to them.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔒 Privacy First
&lt;/h3&gt;

&lt;p&gt;Telemetry is anonymous and respects VS Code's telemetry settings. No tracking, no surprises.&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ How It Works
&lt;/h2&gt;

&lt;p&gt;Here's the full workflow:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Open the Extension
&lt;/h3&gt;

&lt;p&gt;Click the &lt;code&gt;.NET Scaffolder&lt;/code&gt; view in your VS Code sidebar.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Select a Template
&lt;/h3&gt;

&lt;p&gt;Browse categories and click any template to configure it.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Configure Your Project
&lt;/h3&gt;

&lt;p&gt;Fill out the interactive form:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Project Name&lt;/strong&gt; - Type it in&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project Path&lt;/strong&gt; - Click "Browse..." to select a folder&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Framework&lt;/strong&gt; - Choose from .NET 6-9&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git Option&lt;/strong&gt; - Pick your workflow&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create Solution&lt;/strong&gt; - Toggle on/off&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Watch It Build
&lt;/h3&gt;

&lt;p&gt;Real-time progress tracking shows each step.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Start Coding
&lt;/h3&gt;

&lt;p&gt;Your project opens ready to go—everything configured!&lt;/p&gt;

&lt;h2&gt;
  
  
  🤖 Full Transparency: AI-Assisted Development
&lt;/h2&gt;

&lt;p&gt;Before diving into the technical details, I want to be upfront: &lt;strong&gt;I built this extension with AI assistance&lt;/strong&gt; (Claude/ChatGPT). This was a collaborative effort where:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I provided:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The vision and requirements&lt;/li&gt;
&lt;li&gt;Architecture decisions&lt;/li&gt;
&lt;li&gt;Feature specifications&lt;/li&gt;
&lt;li&gt;Testing and validation&lt;/li&gt;
&lt;li&gt;Final code review and approval&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AI helped with:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code generation and boilerplate&lt;/li&gt;
&lt;li&gt;TypeScript implementation&lt;/li&gt;
&lt;li&gt;VS Code API integration&lt;/li&gt;
&lt;li&gt;Documentation writing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is increasingly how modern development works—AI as a powerful co-pilot, but human judgment driving the ship. Every line of code was reviewed, tested, and understood before making it into the extension.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why share this?&lt;/strong&gt; Transparency matters. AI-assisted development is a tool, not a shortcut. The extension is no less valuable because AI helped write it—just like using Stack Overflow, libraries, or frameworks doesn't diminish a developer's work.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎓 What I Learned
&lt;/h2&gt;

&lt;p&gt;Building this extension taught me a lot:&lt;/p&gt;

&lt;h3&gt;
  
  
  TypeScript &amp;amp; VS Code API
&lt;/h3&gt;

&lt;p&gt;Working with webviews, tree views, and VS Code's extension API was challenging but rewarding. The documentation is excellent once you understand the patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cross-Platform Considerations
&lt;/h3&gt;

&lt;p&gt;Making sure Git integration works on Windows, macOS, and Linux required careful testing. The &lt;code&gt;gh&lt;/code&gt; CLI made GitHub integration much simpler than I expected.&lt;/p&gt;

&lt;h3&gt;
  
  
  User Experience Design
&lt;/h3&gt;

&lt;p&gt;Balancing power and simplicity was key. I wanted advanced features (like 4 Git options) without overwhelming users. Radio buttons and conditional fields solved this nicely.&lt;/p&gt;

&lt;h3&gt;
  
  
  Privacy Matters
&lt;/h3&gt;

&lt;p&gt;Developers care about privacy. Making telemetry opt-in via VS Code's settings was non-negotiable.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Technical Stack
&lt;/h2&gt;

&lt;p&gt;For those interested in the implementation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Language&lt;/strong&gt;: TypeScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Framework&lt;/strong&gt;: VS Code Extension API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UI&lt;/strong&gt;: Webview API with HTML/CSS/JS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build Tool&lt;/strong&gt;: TypeScript Compiler&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Version Control&lt;/strong&gt;: Git + GitHub&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Publishing&lt;/strong&gt;: vsce (VS Code Extension Manager)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key APIs used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;vscode.window.createTreeView()&lt;/code&gt; - Template browser&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vscode.window.createWebviewPanel()&lt;/code&gt; - Configuration forms&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vscode.window.showOpenDialog()&lt;/code&gt; - Browse button&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;child_process.exec()&lt;/code&gt; - Running &lt;code&gt;dotnet&lt;/code&gt; and &lt;code&gt;git&lt;/code&gt; commands&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  📈 What's Next?
&lt;/h2&gt;

&lt;p&gt;The roadmap is already filling up! Here's what's coming:&lt;/p&gt;

&lt;h3&gt;
  
  
  v1.4.0 (Planned)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Add to Existing Solution&lt;/strong&gt; - Create a new project and add it to an existing &lt;code&gt;.sln&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;Detect workspace solutions automatically&lt;/li&gt;
&lt;li&gt;Maintain consistent project structure (&lt;code&gt;src/&lt;/code&gt; folder patterns)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Future Ideas
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Custom template support&lt;/li&gt;
&lt;li&gt;Project preview before creation&lt;/li&gt;
&lt;li&gt;NuGet package addition during setup&lt;/li&gt;
&lt;li&gt;Docker configuration generation&lt;/li&gt;
&lt;li&gt;Template favorites&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🎯 Try It Out!
&lt;/h2&gt;

&lt;p&gt;Ready to scaffold your next .NET project in seconds?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install via VS Code:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ext install notablebit.dotnet-project-creator
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Or search:&lt;/strong&gt; &lt;code&gt;.NET Scaffolder&lt;/code&gt; in the Extensions marketplace&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌐 VS Code Marketplace: &lt;a href="https://marketplace.visualstudio.com/items?itemName=notablebit.dotnet-project-creator" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=notablebit.dotnet-project-creator&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;💻 GitHub Repository: &lt;a href="https://github.com/bdonaldharris/dotnet-project-creator" rel="noopener noreferrer"&gt;https://github.com/bdonaldharris/dotnet-project-creator&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📋 Documentation: &lt;a href="https://github.com/bdonaldharris/dotnet-project-creator#readme" rel="noopener noreferrer"&gt;https://github.com/bdonaldharris/dotnet-project-creator#readme&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💬 Feedback Welcome!
&lt;/h2&gt;

&lt;p&gt;This is my first published VS Code extension, and I'd love to hear your thoughts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What features would make your workflow smoother?&lt;/li&gt;
&lt;li&gt;What templates are you missing?&lt;/li&gt;
&lt;li&gt;Any bugs or issues to report?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Drop a comment below or open an issue on GitHub!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Building tools that developers actually want to use&lt;/strong&gt; is incredibly rewarding. If this extension saves you even 30 seconds per project, it's worth it.&lt;/p&gt;

&lt;p&gt;Happy scaffolding! 🚀&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Follow me for more developer tools and open-source projects. More extensions coming soon!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/bdonaldharris/dotnet-project-creator" rel="noopener noreferrer"&gt;https://github.com/bdonaldharris/dotnet-project-creator&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Marketplace: &lt;a href="https://marketplace.visualstudio.com/publishers/notablebit" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/publishers/notablebit&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>dotnet</category>
      <category>vscode</category>
      <category>csharp</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
