feat(publish): initial publish script
refacto: separate the global tacks