How do you document your software requirements?

I’m onboarding a part-time QA person to our team, but over the course of a few pivots, never stuck to our initial formal specification or maintained solid test coverage.

Between Cucumber, jsdoc, some SaaS product, etc, what have you had with creating and actually maintaining app specs successfully? I personally like the idea of Cucumber, where the user stories dictate the tests / live in the application, but had some difficulty back in the 1.0 days with velocity/cucumber.

Open to anything!