Very damn interesting game you made here. I have some issues, but it doesn't take away from the fact that this game does a lot very well. I also want to point out that I managed to beat every boss except for the snake, but I'll get to that later.
Right off the bat, the presentation is amazing. I love the boss's character designs and how you managed to incorporate them into the level design for every boss. I thought the dog chasing after it's own tail was honestly pretty damn hilarious, but also genius.
The cuphead inspirations are definitely pretty evident, but I think my favourite is how you showed through the environment that an attack was about to happen ( Like the flea on the dog's butt, or the snake venom on the snake's body in the background ).
That said, I'm not really a fan of the controls. They felt a little too imprecise since I'd sometimes make a circle perfectly whereas sometimes the bird slowed down and I wasn't really sure why. If I had to make a suggestion, what if holding Z makes you do a circle without needing to press the direction keys to spin the bird, just that it starts accelerating a little slowly. And then you release Z while holding the direction keys to make the bird charge in the direction that you're holding.
On one hand, I think the stamina system is an interesting idea to balance the player, but unfortunately I think it's implementation limits the player in a bad way. I realise you added it to ensure that a player needs to land at some point and can't just keep attacking. I also think it's pretty interesting how you vary up the levels and the platforms that are available as well. However, it results in situations where you're pretty much going to die instantly even at full health if you run out of stamina
( eg : in the dog's second phase where you need to land on the frisbee. If you run out of stamina at any point and the firsbee isn't around, you're pretty much screwed since you'll never be able to get back up to it. Same for the final phase of the snake where it's chasing after you. If this is more of a skill issue then I apologise lol, but I definitely feel like it's a little too unforgiving )
I think these issues could've been mitigated by a little balancing here and there. Maybe after landing a successful hit, you get back a good amount of stamina ( I think this is already there, but maybe the amount of stamina you get back could be a little more ). The rate at which you get back stamina while on the ground could be also increased. I say these things because it felt like a lot of the bosses were a little too fast sometimes for how limited the player was.
On that note, while I think the attacks of all 4 bosses were pretty varied, I'm not really a fan of how some of them were handled. I think the attack where the dog was digging and launching dirt projectiles at you was a little too random. Same for the attack where the snake shot out those bones(?) at you. I'm also not a fan of some of the other attacks that the snake had in it's first phase like the tip of it's tale and it shooting out that venom. Both of those attacks felt a little too fast for how comparitively slow the bird was.
Another issue I had with the snake was that I didn't really think at first that parrying the bones would do damage to it, mostly because parrying objects till then didn't seem to damage the boss, so I thought I had to hit the tip of it's tale that was holding up the bone shield. It took me a little bit to realise what had to be done here. That by itself is fine, but I think it could've been taught to the player before. Maybe parrying the leaves damaged the bird bosses.
That said, I thought the 2 bird bosses were almost perfect in general. Probably the best examples of what you were trying to do with this game. The snake came close but feels a little too unforgiving imo.
All in all, I think you've definitely made a damn good game. All it really needs is some balancing here and there. Wonderful work on this