If "je puis" is not used anymore, we say "puis-je" as a question (only for the first singular person), for example "puis-je vous aider ?" (May I help you ?). We don't say "peux-je" but "puis-je" or "est-ce que je peux... ?". We can't say "puis-tu", it doesn't exist.
"Je ne puis" is already used, rarely, if we want to add a formal style to the sentence but not in a formal conversation actually. For example: "Je ne puis te répondre" is sometimes used. Notice that we don't add "pas" in this case: "Je ne puis te répondre" and not "Je ne puis pas te répondre". A contrario, "je ne peux te répondre" and "je ne peux pas te répondre" are both right.
Yes, that's complicated.