         case license
         case openIssues
         case stargazers
-        case tags
         case packageManifest
     }
 

            return ".package(url: \"\(self.url)\", \(requirement.packageString)),"
        }
    }

    public struct Tag: Decodable {
        public let name: String

        private enum NodeKeys: String, CodingKey {
            case node
        }

        private enum CodingKeys: String, CodingKey {
            case name
        }

        public init(from decoder: Decoder) throws {
            let nodeContainer = try decoder.container(keyedBy: NodeKeys.self)
            let container = try nodeContainer.nestedContainer(keyedBy: CodingKeys.self, forKey: .node)
            let name = try container.decode(String.self, forKey: .name)
            self.init(with: name)
        }

        public init(with name: String) {
            if name.hasPrefix("v") {
                self.name = String(name.dropFirst())
            } else {
                self.name = name
            }
        }
    }
}

extension Repository.DependencyRepresentationError: LocalizedError {

import Foundation
import Rainbow

public typealias Tag = String
public typealias Head = String

public struct Repository: Decodable {
    public let nameWithOwner: String
