DEV Community

Suvraneel
Suvraneel

Posted on Originally published at github.com

Can your Node.js repository survive a fresh clone? I'm looking for developers to test my open-source tool

A project works perfectly on your machine. The tests pass, the application starts, and everything seems fine.

Then someone discovers your GitHub repository, clones it, follows the README, and encounters:

  • A missing or outdated lockfile.
  • A test command that doesn't actually exist.
  • An undocumented environment variable.
  • Conflicting Node.js version declarations.
  • Dependencies or setup instructions that don't match the actual project.

For open-source maintainers, these problems can make the first contribution unnecessarily difficult.

I've been working on an open-source tool called Clone-Proof to help identify these issues before someone else encounters them.

The tool is now publicly available, and I'm looking for developers and repository maintainers willing to test it on real projects.

What exactly is Clone-Proof?

Clone-Proof is a repository readiness checker for Node.js and TypeScript projects.

Its central question is:

Can someone take a fresh clone of your repository, install its dependencies, and run its declared tests?

It approaches this through two execution modes.

1. Static repository inspection

The default check mode performs a read-only inspection without executing the target repository's code.

It examines things such as:

  • Package manifests and lockfiles.
  • Package-manager consistency.
  • Test scripts and README commands.
  • Node.js runtime declarations.
  • Environment-variable documentation.
  • Gitignored core files.
  • Browser-test and service dependency indicators.

Instead of simply returning a generic score, Clone-Proof produces findings with file-and-line evidence, explanations and recommendations.

2. Controlled Docker verification

For developers who want more than static inspection, Clone-Proof also offers opt-in Docker verification.

It attempts to install dependencies using npm ci --ignore-scripts and execute the declared test workflow inside a pinned, restricted container.

The execution profile includes:

  • A non-root user.
  • Dropped Linux capabilities.
  • A read-only source mount.
  • Resource and execution-time limits.
  • Network isolation by default.
  • Container and temporary-file cleanup.

Docker verification currently focuses on the root npm workflow. It is not a universal build system or a complete security sandbox.

3. Native GitHub Actions integration

Clone-Proof also provides a native GitHub Action.

You can integrate it into your existing CI workflow to receive:

  • Workflow annotations.
  • GitHub Actions Job Summaries.
  • Static check results.
  • Optional Docker verification.
  • Reproducibility receipts.

The idea is to make repository readiness checks part of the normal development workflow rather than another command someone has to remember to run.

How can you test it?

You don't need to install Clone-Proof globally.

Requirements: Node.js 22.19.0 or newer. Docker is required only for Docker verification.

Option 1: Test your own repository

Navigate to your Node.js or TypeScript project and run:

npx cloneproof-check check .
Enter fullscreen mode Exit fullscreen mode

You can also inspect a public GitHub repository directly:

npx cloneproof-check check https://github.com/OWNER/REPO
Enter fullscreen mode Exit fullscreen mode

Option 2: Try Docker verification

For repositories you own or trust, you can opt into controlled execution:

npx cloneproof-check verify . --docker --execute
Enter fullscreen mode Exit fullscreen mode

Network access is disabled by default. Some repositories require external dependencies during installation; network access can be explicitly enabled when appropriate:

npx cloneproof-check verify . --docker --execute --allow-network
Enter fullscreen mode Exit fullscreen mode

Docker verification executes repository test code inside the container. Docker is not a complete security boundary, so only use it on repositories you trust.

Option 3: Add it to GitHub Actions

You can also integrate Clone-Proof directly into a workflow:

name: CloneProof Check

on:
  pull_request:
  push:
    branches: [main]

jobs:
  cloneproof:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Check repository readiness
        uses: psuvraneel-cyber/Clone-Proof@v0.2.4
        with:
          mode: check
Enter fullscreen mode Exit fullscreen mode

The static check can run on pull requests. Docker verification has stricter event and runner restrictions because it executes repository code.

I've tried to validate the tool against real repositories

I didn't want Clone-Proof to be a collection of checks that only works against artificial examples.

I've conducted field testing against public Node.js and npm repositories, including a 100-repository evaluation.

One of the most useful lessons was that the tool itself could produce false positives.

Rather than hiding those results, I investigated the findings, corrected the detection logic, added regression tests and reran the evaluation.

The current implementation also documents its limitations and distinguishes between problems it can identify, situations it cannot verify and repositories it must safely refuse to inspect.

The field-test methodology and results are available in the repository.

I consider this an ongoing engineering process, not proof that Clone-Proof is universally accurate.

What I need from you

This is where I'd particularly appreciate help from people who maintain actual software projects.

I'm looking for developers willing to run Clone-Proof against their own repositories and challenge its results.

I'd appreciate feedback in five areas:

1. Accuracy

Did Clone-Proof identify genuine setup problems? Did it report anything incorrectly? Did it miss an obvious issue?

2. Usefulness

Would these findings actually help a new contributor get your project running?

3. Developer experience

Were the commands, output and recommendations understandable?

4. GitHub Actions integration

Would you consider using Clone-Proof in your repository's CI workflow? What would need to change before you trusted it?

5. Limitations

What did you expect it to detect that it currently cannot?

I'm particularly interested in unusual repository structures, edge cases, false positives and real-world projects that expose weaknesses in the scanner.

Negative feedback is genuinely welcome. Finding something Clone-Proof gets wrong is useful feedback, not a failed test.

Project links

A request to the community

Clone-Proof is an independent open-source project that I've been developing and improving through testing against real repositories.

At this stage, I'd rather have ten developers critically evaluate it than a hundred people simply star the repository.

Could you try it on your project and tell me what it gets right, what it gets wrong, and what would make you actually use it?

You can leave feedback in the comments, open an issue on GitHub, or share the findings directly.

Thank you for giving it a try.

Top comments (0)