Skip to content
Studying the standards of TypeScript repositories on GitHub
TypeScript Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This SDM visualizes aspects of TypeScript repositories.

Using this

Clone this repository.

Install the Atomist CLI: npm install -g @atomist/cli

Set up Postgres to store the data, as described in Aspect support database setup.

Inside this repo's directory, use the Atomist CLI to start this SDM: atomist start --local

Once that's going, visit http://localhost:2866 and it should tell you that you need to analyze some repositories.

Use the CLI to send an analyze command. I used:

atomist analyze github by query --cloneUnder ~/temp --poolSize 5 --update true --query "language:typescript stars:>=1000 size:<=10000"

This says to run that query on GitHub (TypeScript repos under 10Mb with 1000 stars), clone each repository under a local temp directory (handy for re-using clones after I change my code and want to run it again), run up to five of them at a time, and always update the data in the database.

That command will give you a link to watch the analysis as it's progressing: http://localhost:2866/analysis. Hit refresh to update.

When it's done, return to http://localhost:2866 -- click on "Interactive Explorer" to see who has what input and output directories. Or look around.

Database queries

For the record, after running an analysis I opened my Postgres database and used this to find the most frequent source directories:

select jsonb_array_elements(data -> 'directories')  as "Directory", count(*)
from fingerprints 
where name = 'TypeScriptSourceCountByDirectory'
group by 1
order by 2 desc;


Contributions to this project from community members are encouraged and appreciated. Please review the Contributing Guidelines for more information. Also see the Development section in this document.

Code of conduct

This project is governed by the Code of Conduct. You are expected to act in accordance with this code by participating. Please report any unacceptable behavior to


Please see for developer documentation.


Follow @atomist and the Atomist blog.


General support questions should be discussed in the #support channel in the Atomist community Slack workspace.

If you find a problem, please create an issue.


You will need to install Node.js to build and test this project.

Build and test

Install dependencies.

$ npm install

Use the build package script to compile, test, lint, and build the documentation.

$ npm run build


Releases are handled via the Atomist SDM. Just press the 'Approve' button in the Atomist dashboard or Slack.

Created by Atomist. Need Help? Join our Slack workspace.

You can’t perform that action at this time.