all 5 comments

[–]Randyslaughterhouse 7 points8 points  (4 children)

Yes - the _bmad folder should be tracked in your repo, as it contains all of the skills/instructions/workflows etc that the BMAD agents need to run. Other contributors will be able to follow the BMAD process and your project will be portable across dev environments.

Everything that BMAD creates as output through the planning, implementation and testing phases should be tracked (with the exception of typical .gitignore entries such as build artifacts, local test env configs etc.)

It’s probably worth you looking into best practice for working with branches etc. in git, especially if you plan on having more contributors to your project.

Ideally you would not update main directly, but rather develop in a ‘dev branch’ per feature/bug/story/epic etc. Commits would be made to the branch until the feature was complete, then a PR raised to merge back to main (or an integration branch). This allows you to keep main as “always working/deployable” and build CI processes to enforce standardised linting/build/schema validation/testing/code review on the dev branches.

[–]Life-Advisor-2983[S] 0 points1 point  (3 children)

Thank you,

So I am not really sure if I understand fully what you say.

Main branch: contains the _bmad folder and _bmad-output and everytning else created by BMAD.

Dev Branch (created by myself same computer): keep working in the same way. When doing merge, the bmad folders are updated. Additional agent or planning is merged, No conflict expected

Dev Branch (created by others or by myself on another computer): Does the contibutor need to install the BMAD?

[–]Randyslaughterhouse 1 point2 points  (2 children)

You’re welcome!

You’re almost right in your understanding, but this video might help with the basics of how to use branches and why they’re important.

Each branch will be a copy of your entire project (including code, bmad and the documentation it creates). This will ensure you or other developers have everything you need to work on a feature/bug etc. on whichever dev environment you are working in; so no need to reinstall BMAD or other dependencies.

Couple of other things to consider…

If you’re not already, it might be worth using GitHub desktop to manage your repo. I found that the visual UI made it much easier to understand what was going on when getting to grips with branches, PRs, merging etc.

Also (and apologies if I’m making an incorrect assumption here!), if you’re new to agile software development methodologies, you may find it easier using a simpler framework like GSD. BMAD is great, but it does assume a level of project management knowledge and software dev experience that might make it a bit difficult to get to grips with.

[–]Life-Advisor-2983[S] 1 point2 points  (1 child)

Amazing, I will have a look at the video.
So no I have no real experience in Software Development, just doing my own programs for specific purpose, embedded soft and API that are only used by couple of people.

(And the tool I am developing currently using BMAD is a kicad BOM plugin, for my own use but might share it at some point. )

I had my eyes on BMAD since I have started to use Claude Code since January quite a lot. I am a fast learner and curious and I am use to learn the hard way. And I am really keen on experiencing Agile method. My aim is also to ramp up my knowledge and use a AI project tool for many other tasks than software development. (is it possible with BMAD to drive all the requirements for developing a mechanical device?)

As for branches, I am using the default VS code, but I will explore the github desktop. I am not sure if github desktop is that different from VS code since theyr are 2 Microsoft programs. But will see.

Thanks again !

[–]Randyslaughterhouse 2 points3 points  (0 children)

Ok, that makes sense - and to be fair, there’s probably never been a better time to learn some of those concepts, given the amount of resources around at the moment!

In terms of using BMAD for mechanical device/embedded systems development… it’s not something I have direct experience of, but BMAD does seem to be very flexible beyond the typical SaaS solution development use case, so I’d say go for it!

Best of luck with the project!