You need to be more specific on the requirements. From what you wrote I could say use notepad. But that's probably not what you had in mind. Maybe something like Trello? Or OneNote if you add handwritten stuff/drawings? (of course you can also include images in trello and use paint or something). Maybe evernote? Or just something like markdown? Maybe some ...
Have you take a look at Miro?
It's a whiteboard with a variety of template to choose from: just to add sticky notes, make a simple or complex interaction between class or entity or interaction between UI and code behind it, or design your UI...
plus: it's collaborative.
minus: for free you have just 3 boards.
You could take a look at the iMapping Tool. It is a visual knowledge mapping tool that lets you organize text notes and pictures visually on what could be described as an infinite pinboard (a bit like prezi, or as some users describe it "like Google Maps for Ideas". Items can be nested and interlinked so you can add structure as your collection grows.
If you want total control and are willing to work for it, I would combine LaTeX, Git and OpenOffice. LaTeX has a fairly steep learning curve, but it solves a lot of problems that are difficult in WYSIAYG software.
LaTeX has all the nesting and book organizing features (automated bibliography, ToC, glossary, references, code formatting, etc) you could want. ...
What about R Bookdown?
R Bookdown was developed by some eminent members of the R Community in order to turn documentation (of some complex software packages) and longer tutorials into full-fledged Books.
The bookdown package is an open-source R package that facilitates writing books and long-form articles/reports with R Markdown.
R Markdown is a ...
It might not be the best application for your intended plans, though you could use taskwarrior:
For the listed groceries task you could either:
create a list of template tasks for the activities you mentioned, then add the user defined attribute UDA and specify their datatype e.g.
task config uda.grocery_item.type string
task config uda....
Create the file you want as a template. Then create a Batch file as follows. I'm using the "chores" as an example:
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
copy chores chores%YYYY%%MM%%DD%.txt
With GitHub you can create kanban boards besides version control. So you can define columns like Todo, In progress, Done... In the columns you can store tickets which can be assigned to developers. The ideal thing here is the seamless integration of code and kanban boards.
You can also define milestones, work with labels, create a wikis...
In my daily ...
The Task and To Do areas of Borg Calendar could work. It can be configured to open to the Task manager (rather than the default Calendar) in the program options, and should handle almost all of OP's requirements:
some descriptive text per item
zero to n other ToDo items the current item depends on
state (open/done/disabled (...