← all posts

Upgrading My Wife's Portfolio to TinaCMS with the GitHub Copilot CLI

Gordon Beeming
Gordon Beeming
On this page3 sections ▾

I wanted my wife, Tiani Beeming, to update her portfolio without asking me to edit files and redeploy it. The site was already live, but adding portfolio pieces and changing text still required code changes. TinaCMS, a Git-based headless CMS, looked like a good fit for moving that content into an editor.

I used GitHub Copilot CLI to do the integration. It installed the packages, defined the schema from the existing JSON files and connected the React components to visual editing. The session took under an hour, though I still needed to complete the final checks before deploying the updated site.

#Asking Copilot to integrate TinaCMS

I'd spoken with Jack Pettit from the TinaCMS team about the manual work involved. He estimated a few hours, perhaps five, to install, configure and connect everything. That gave me a rough expectation, rather than a measured comparison with the CLI run.

I gave Copilot the intended result in a single prompt:

Copilot CLI prompt
I'd like to completely convert this project to use tina.io cms...
please do the complete conversion for me...
any json files in the data folder should be able to be managed using the
tina interfaces as normal content
A terminal window showing the GitHub Copilot CLI prompt being entered to start the TinaCMS conversion.
The prompt requesting the TinaCMS conversion.

#Reviewing the commands

The CLI proposed shell commands as it worked through the integration. I reviewed them and chose whether to approve or skip each one.

A screenshot of the Copilot CLI prompting the user for permission to run a command like 'npm install'.
My main job was to review and approve the commands Copilot wanted to run.

In that session, read-only commands such as grep offered an approval for the session, while destructive operations required a separate decision. I still had to consider what each command would affect, even though the CLI was doing the typing.

#Content, components and documentation

Copilot converted the JSON content into a TinaCMS schema and wrapped the React components for visual editing. It also generated a TINA_CMS_GUIDE.md and placed supporting documentation in the project's /docs and /tasks folders.

Those folder conventions came from the repository's Copilot instructions. In an earlier session, I'd asked an agent to record them there, and the CLI followed them during this work. Keeping the conventions in the repo saved me including them in the conversion prompt.

I didn't need to guide the integration during that session beyond reviewing its commands. The generated schema, component changes and documentation were ready for the content-editing and page checks before deployment.

Gordon Beeming
Gordon Beeming

Father • Husband • Triathlete • SSW Solution Architect

Related posts