NewLive pair coding: one link for the candidate, one shared sandbox for everyone.See it ↓

Repo import

Your codebase, any Git host. Private repos too.

Paste a repository URL and Kendor turns it into a challenge. The import is a fixed snapshot, the language and entry file are detected, a kendor.yaml is added when the repo has none, and dependency folders are left out.

01

Cloud or self-hosted, it's the same URL box.

Paste a link from github.com, gitlab.com or bitbucket.org, or from your own GitLab, GitHub Enterprise Server, Gitea or Forgejo server.

  • Repository, branch and folder links, SSH clone URLs, and owner/repo shorthand for GitHub
  • Your own server is added once in Settings → Integrations, with its token. It has to be reachable from the internet over HTTPS.
  • Up to 5,000 files and 50 MB per import. For a bigger repository, import one folder.
  • github.comCloud
  • gitlab.comCloud
  • bitbucket.orgCloud
  • GitLab (self-managed)Self-hosted
  • GitHub Enterprise ServerSelf-hosted
  • Gitea or ForgejoSelf-hosted

02

Private repos, with one token your organization adds once.

Only an owner can add a token. It's encrypted at rest and only used to download the repository you import. GitHub, GitLab, Gitea and Forgejo tokens are checked with the host when they're saved. After that, only the last four characters are ever shown, to anyone.

  • Read-only tokens: a GitHub fine-grained token, a GitLab token with read_repository, a Bitbucket access token
  • Editors import from private repos without ever seeing the token
  • A token is only ever sent to the host it was saved for

03

A fixed snapshot, ready to run.

Kendor copies the files once, so later pushes don't change what candidates see, and records the commit they came from. It detects the language and entry file, writes a kendor.yaml when the repo has none, and leaves out dependency and build folders like node_modules, vendor and .git, so the sandbox installs them fresh.

  • A kendor.yaml already in the repo is used as it is
  • A repo with several projects gets one service per folder
  • PostgreSQL and Valkey are added when the code uses them

04

One folder of a monorepo.

Paste the link to a folder on a branch, and only that folder becomes the challenge. Candidates see the service they're asked about, not the rest of your code.

How it works

From URL to challenge.

  1. Paste the link

    In the screen builder, paste a repository, branch or folder link and press Check. For a private repo or your own server, an owner adds a token in Settings → Integrations first.

  2. Check what Kendor found

    You see the commit, the number of files, the detected language and how the project installs and starts. Pick another language if the guess is wrong.

  3. Review and add tests

    Add challenge opens it in the editor: confirm the kendor.yaml, write the brief and the hidden tests, and publish.

Questions

Does Kendor keep pulling from the repo?

No. An import copies the files once, so pushes after it don't change the challenge. To pick up newer code, import the repository again.

Who can add access tokens?

Organization owners. Editors can then import from private repositories on that host without ever seeing the token.

Who can see the access token?

Nobody, owners included. Once it's saved, Kendor only ever shows its last four characters.

Do candidates see our Git history?

No. Candidates get the files from the imported commit, without the repository's history or remote.

Can I import one folder of a monorepo?

Yes. Paste the URL of that folder on a branch, and Kendor imports just that subfolder at that commit.

What happens if we remove a token?

Imports from that host's private repositories stop until a new token is added. Challenges you already imported keep their code.

More of Kendor

All features

Run your next screen on Kendor. Read what the code says.

Kendor works with engineering teams in the EU, the UK and the US. Tell us what you're hiring for and we'll set up your organization with you.