diff --git a/lib/api/npm.js b/lib/api/npm.js
index 90b7f9d7f06cf5ec610b2faeb03937917116be01..acc61f1f9bd99eda4551b55dfeef9963eb8b9c60 100644
--- a/lib/api/npm.js
+++ b/lib/api/npm.js
@@ -54,7 +54,7 @@ async function getDependency(name, logger) {
   // Return from cache if present
   const cacheVal = await cache.get(cacheKey);
   if (cacheVal) {
-    logger.debug(`Returning cached version of ${name}`);
+    logger.trace(`Returning cached version of ${name}`);
     return cacheVal;
   }
 
diff --git a/lib/workers/repository/index.js b/lib/workers/repository/index.js
index b6cf352b01639e1bac85397bd276babcf6b0ef55..699b1feda3f6a344b0a93a7ebd2da8af0f289866 100644
--- a/lib/workers/repository/index.js
+++ b/lib/workers/repository/index.js
@@ -64,7 +64,6 @@ async function renovateRepository(repoConfig, token) {
           logger.warn(message);
         }
       }
-      config.repoIsOnboarded = await onboarding.getOnboardingStatus(config);
       // Detect package files in default branch if not manually provisioned
       if (config.packageFiles.length === 0) {
         logger.debug('Detecting package files');
@@ -85,6 +84,7 @@ async function renovateRepository(repoConfig, token) {
       logger.trace({ config }, 'post-packageFiles config');
       // TODO: why is this fix needed?!
       config.logger = logger;
+      config.repoIsOnboarded = await onboarding.getOnboardingStatus(config);
       if (!config.repoIsOnboarded) {
         config.contentBaseBranch = `${config.branchPrefix}configure`;
         // Remove packageFile list in case they are provisioned in renovate.json
diff --git a/lib/workers/repository/onboarding.js b/lib/workers/repository/onboarding.js
index fa7040ccd750df1cf31cfd658e1617ddce4ccb6d..b325586e65b98dc1d382c4be78f55ec78965c698 100644
--- a/lib/workers/repository/onboarding.js
+++ b/lib/workers/repository/onboarding.js
@@ -1,5 +1,3 @@
-const apis = require('./apis');
-
 const onboardPrTitle = 'Configure Renovate';
 
 module.exports = {
@@ -25,24 +23,15 @@ async function isRepoPrivate(config) {
 async function createBranch(config) {
   const { logger } = config;
   const onboardBranchName = `${config.branchPrefix}configure`;
-  let extendsStr;
   const repoIsPrivate = await module.exports.isRepoPrivate(config);
-  let onboardingConfig = { ...config };
-  onboardingConfig.meteor.enabled = true;
-  onboardingConfig.docker.enabled = true;
-  onboardingConfig = await apis.detectPackageFiles(onboardingConfig);
-  if (onboardingConfig.types.npm) {
-    extendsStr = repoIsPrivate ? '"config:js-app"' : '"config:js-lib"';
+  let onboardingConfigString;
+  if (repoIsPrivate) {
+    logger.debug('Repo is private - setting to app type');
+    onboardingConfigString = `{\n  "extends": ["config:js-app"]\n}\n`;
   } else {
-    extendsStr = '"config:base"';
-  }
-  if (onboardingConfig.types.meteor) {
-    extendsStr += ', ":meteor"';
-  }
-  if (onboardingConfig.types.docker) {
-    extendsStr += ', ":docker"';
+    logger.debug('Repo is not private - setting to library');
+    onboardingConfigString = `{\n  "extends": ["config:js-lib"]\n}\n`;
   }
-  const onboardingConfigString = `{\n  "extends": [${extendsStr}]\n}\n`;
   const existingContent = await config.api.getFileContent(
     'renovate.json',
     onboardBranchName
diff --git a/test/workers/repository/__snapshots__/onboarding.spec.js.snap b/test/workers/repository/__snapshots__/onboarding.spec.js.snap
index ab211ed7a629d7005f4bcfffd7ad0489938e92ee..33e6062351fe7bca14feb3e3252e298e6c75ac14 100644
--- a/test/workers/repository/__snapshots__/onboarding.spec.js.snap
+++ b/test/workers/repository/__snapshots__/onboarding.spec.js.snap
@@ -415,19 +415,3 @@ Array [
   "Add renovate.json",
 ]
 `;
-
-exports[`lib/workers/repository/onboarding getOnboardingStatus(config) uses config:base if no npm 1`] = `
-Array [
-  "renovate/configure",
-  Array [
-    Object {
-      "contents": "{
-  \\"extends\\": [\\"config:base\\", \\":meteor\\", \\":docker\\"]
-}
-",
-      "name": "renovate.json",
-    },
-  ],
-  "Add renovate.json",
-]
-`;
diff --git a/test/workers/repository/index.spec.js b/test/workers/repository/index.spec.js
index 7ccce410ee186ec2296dcd815d0eca1533052420..f653f35bd7221be6ea600661beda4e65adfca91d 100644
--- a/test/workers/repository/index.spec.js
+++ b/test/workers/repository/index.spec.js
@@ -101,7 +101,7 @@ describe('workers/repository', () => {
         ...{ packageFiles: [] },
       }));
       await repositoryWorker.renovateRepository(config);
-      expect(apis.resolvePackageFiles.mock.calls.length).toBe(0);
+      expect(onboarding.getOnboardingStatus.mock.calls.length).toBe(0);
       expect(config.logger.error.mock.calls.length).toBe(0);
     });
     it('does not skip repository if package.json', async () => {
diff --git a/test/workers/repository/onboarding.spec.js b/test/workers/repository/onboarding.spec.js
index 070572c9f27845c298c433195bdd83742d84e7bb..10cb9b43ada75d2700cd07a8dc779a6bbc415c15 100644
--- a/test/workers/repository/onboarding.spec.js
+++ b/test/workers/repository/onboarding.spec.js
@@ -1,4 +1,3 @@
-const apis = require('../../../lib/workers/repository/apis');
 const onboarding = require('../../../lib/workers/repository/onboarding');
 const logger = require('../../_fixtures/logger');
 const defaultConfig = require('../../../lib/config/defaults').getConfig();
@@ -223,7 +222,6 @@ describe('lib/workers/repository/onboarding', () => {
     beforeEach(() => {
       config = { ...defaultConfig };
       jest.resetAllMocks();
-      apis.detectPackageFiles = jest.fn(a => a);
       config.api = {
         commitFilesToBranch: jest.fn(),
         createPr: jest.fn(() => ({ displayNumber: 1 })),
@@ -234,7 +232,6 @@ describe('lib/workers/repository/onboarding', () => {
       };
       config.foundIgnoredPaths = true;
       config.logger = logger;
-      config.types = { npm: true };
       config.detectedPackageFiles = true;
       onboarding.isRepoPrivate = jest.fn();
     });
@@ -282,16 +279,6 @@ describe('lib/workers/repository/onboarding', () => {
       expect(config.api.commitFilesToBranch.mock.calls.length).toBe(1);
       expect(config.api.commitFilesToBranch.mock.calls[0]).toMatchSnapshot();
     });
-    it('uses config:base if no npm', async () => {
-      config.types.npm = false;
-      config.types.meteor = true;
-      config.types.docker = true;
-      const res = await onboarding.getOnboardingStatus(config);
-      expect(res).toEqual(false);
-      expect(config.api.findPr.mock.calls.length).toBe(1);
-      expect(config.api.commitFilesToBranch.mock.calls.length).toBe(1);
-      expect(config.api.commitFilesToBranch.mock.calls[0]).toMatchSnapshot();
-    });
     it('pins private repos', async () => {
       onboarding.isRepoPrivate.mockReturnValueOnce(true);
       const res = await onboarding.getOnboardingStatus(config);