Goldfinch.me is Now Open Source

For years, my blog website's source code has lived in a private Azure DevOps repository. It worked fine, but I've been thinking more about how I can share it directly with the wider Kentico community.

I often hear people check the Kentico Community Portal's source code as a way of seeing how to approach something, and I thought why not add to that by open-sourcing my own blog site.

So, earlier this month, I made the move. You can now access this website's code on GitHub in a public repository. 🎉

Why GitHub?

The main reason is that it's simply easier for others in the community to discover and learn from projects hosted here.

But GitHub also brings some other great benefits. I can use the built-in security scanning, dependency tracking, a public issue tracker, and deeper integration with AI tools like GitHub Copilot.

The Migration Process

I didn't just copy and paste the source code into GitHub, there were a few things I needed to consider before making it public.

  • Git History - I started with a fresh git history. I didn't want to audit previous commits, and honestly... who knows what I committed a few years ago! 😅
  • Remove connection strings - This one's fairly obvious. I didn't want to leak any database connection strings. Thankfully, I was already using a local database for development, and any preview/production databases are added during the deployment process.
  • Remove CMSHashStringSalt - This salt is used for various security features in the platform, and exposing it publicly could open an avenue for exploitation.
  • Review Continuous Integration (CI) files - My main concern here was ensuring my license key wasn't committed to source control. The rest of the CI files were safe to commit.

Where AI Helped

When my source code was in a private DevOps repository, nobody was looking at the code other than me, so I didn't really need a README, did I? 🤔

Going open source meant I now needed one. Instead of writing it all manually, I let GitHub Copilot's Agent mode analyse the project and generate it for me. You can see the result here, and I think it's done a great job! 👏

I also used Copilot's Agent mode during the migrating process itself. After sanitising the project, I asked it to inspect and report back on anything that could be problematic to commit.

And, while we're talking about AI, I also recently tasked Agent mode with giving my website a visual refresh. The cards I use for blog posts and speaking engagements looked very basic, so Copilot rewrote them completely. You can see the pull request here

Conclusion

Migrating to GitHub and open-sourcing my blog's source code can only benefit the community, and I'm glad I made the switch.

I'm excited to see how this might help other Kentico developers, and maybe even spark contributions or ideas for my own work.

You might also be interested in...