feat(script): add script directive