Bacterial plasmids are double stranded. One strand is coding, and the other is not. IIRC, all genes are on the same strand, but I could be wrong, that could be for Eukaryota only. Or you know, wrong in rare instances for all living things. Or never right, YMMV.
For ligating in a gene, then yes, you will denature, cut with an endonuclease specific for where you want to ligate your gene. If the plasmid doesn't end up too big, the bacterial polymerase will rebuild the complementary strand. You will have to know something about the sequence of the plasmid, maybe by partially sequencing it, or by trying random endonucleases, and recording what works. It does seem a little bit magic in the textbook, but a lot of this work has already been done.