A childhood friend, a BFF, a soulmate, even. How do you create one, especially for a main character?
Personally, I make a conscious effort to stay away from 'opposites attract'. Not only has it been kinda done to death, I really find it difficult to understand how one can be that close with someone who argues with you and frustrates you constantly (or worse yet, actively does things that make your life more difficult)...
I KNOW I'm not the authority on the subject of friends, far from it, but I'm not gonna implement something that doesn't make any sense to me; stone me if you will. Even siblings, who are notorious for getting on each other's nerves, have genuine 'friend moments' from time to time, where you can see why they choose to hang out with each other despite it all.
That's what I choose to focus on: 'friend moments'. Making it clear that two people with distinct personalities and different interests have at least one core interest to bond over.
Maybe one likes hockey and the other likes basketball...but they both love sports. Maybe one is a theater nerd and the other is a regular otaku...but they both have a passion for storytelling. Maybe one is a hyper-competitive misanthropist with anger issues that they resolve through wanton destruction, and the other is a peaceful angel who has zero aspirations beyond taking care of their houseplants and reading edgy manga...but they both enjoy talking about life while watching the sunset and eating ice cream, and that's enough for them...
...Anyway, there's got to be something. Even if it's as simple as each one wanting what's best for the other, that's a common goal. It may get conflicty every once in a while, but hey, you need a plot, right?
Another thing I try to avoid are friendships that are actually just thinly-veiled parent-child relationships, and bad ones at that. They work great in comedic contexts, but outside of that, they look dicey to me and sometimes even abusive. If your friend's only interactions with you consist of begging you for help/money, ignoring your advice, and dragging you into half-baked impulse activities against your will, that's...not a friend. Likewise, if your friend is always lecturing you, condescending to you, and making decisions for you...you may want to step back and take a long, hard look at your situation. =/
I dunno, I just like friendships that feel realistic! Like, maybe 50% arguing and 50% actually being friends, rather than 90% arguing and 10% warm fuzzy moments that don't actually constitute a full relationship...