I, ah, probably can’t dissuade you from doing this, but I generally do like to try to dissuade folks from doing it this way.
Modern IF is normally implemented in a “development system,” e.g. Inform or Twine. What you’re doing, by building a game from scratch, is forcing yourself to both develop your own dev system and write a game, all on your own.
By analogy, what you’re describing is like saying, “I want to write a book, so I’m going to mill my own paper.”
(Or, maybe more accurately, “I know C++, so I’m going to write a web site in C++, without using any libraries; I’m going to write all of the code myself. I’ll write my own threading library, my own HTTP library, my own TLS implementation, my own forms parser, etc. etc. Maybe I’ll even design my own programming language to write it in!”)
You can do that, if it’s fun for you to do so, but that’s not going to be the best way to make your thing.
Instead, learn the dev system that your favorite games use. It sounds like you like Infocom games. You can learn to implement them in Inform, or in the language they originally used, ZIL. Try some of the top-rated games on IFDB and see what you like. https://ifdb.org/search?browse
If your goal is to develop your own IF game, but you’re struggling to come up with story ideas, your best bet is just to play a lot of games, taking notes about what you like and don’t like. Puzzle ideas will come to you. (“What if I started with the puzzle from X but made it act more like this puzzle from Y…?”) A story idea will probably emerge, too. Then, try implementing a puzzle as part of a game jam or IntroComp.
But, if you insist on starting from scratch…
Generally speaking, for coders who want to develop their own dev system but who lack the storytelling experience to write their own game, I don’t recommend that you start by implementing your own game at all, but instead port an existing game from its original source into the dev system you want to make. Emily Short’s Bronze is licensed under a Creative Commons license, and Bronze’s source code is available online. You could port that to a dev system you designed, to prove your system.
That’s how I got started designing my own first game. I first ported Alter Ego to a modern programming language, then, on the basis of that, I wrote my first game, Choice of the Dragon, in my own dev system, with friends, who were stronger creatively.