[major] allow custom hooks per file, use origin and default hook for pipe