feat(caching): add caching for app templates