The file structure of OpenDigger are shown as below
.
+-- .github
| +-- hypertrons-components
| +-- auto_update_contribution # A hypertrons workflow to generate CONTRIBUTORS file every week
| +-- workflows
| +-- check_label_pr.yml # Action to check label data in pull request
| +-- node_ci.yml # Action to run unit tests for Node.js libs
| +-- parse_github_id.yml # Action to parse GitHub ID in label data issue
| +-- reply-label-issue*.yml # Action to add reply status to issue
| +-- hypertrons.json # Hypertrons config file
+-- cooperations # Cooperations events or reports with OpenDigger
+-- docs # OpenDigger website root folder, host by GitHub Pages and powered by docsify
+-- labeled_data # All labeled data in OpenDigger
+-- notebook # Notebooks about how to use OpenDigger
+-- python # Python lib to access OpenDigger
+-- sample_data
| +-- build # Files to build sample data ClickHouse images
| +-- sql_files # SQL files to export data from ClickHouse
| +-- export_sample.sh # Shell to export sample data
+-- src # Node.js lib to access OpenDigger
| +-- ci
| +-- pull_label_file_test.ts # Source file for pull request label data test action
| +-- utils.ts # Basic utils to run actions
| +-- cron # Scheduled tasks
| +-- tasks
| +-- monthly_export.ts # Task to export metrics data for every month
| +-- network_export.ts # Task to export network data for Hypercrx
| +-- open_galaxy.ts # Task to export data for OpenGalaxy
| +-- open_leaderboard.ts # Task to export data for OpenLeaderboard
| +-- remove_renames.ts # Task to remove renamed repos and users on OSS
| +-- index.ts # Task control
| +-- db
| +-- clickhouse.ts # Driver to access ClickHouse database
| +-- neo4j.ts # Driver to access Neo4j database
| +-- metrics
| +-- basic.ts # Basic function to generate SQLs
| +-- chaoss.ts # Metric implementations of CHAOSS metrics
| +-- indices.ts # Index implementations
| +-- metrics.ts # Metrics implementations not from CHAOSS
| +-- related_users.ts # Related user from graph database
| +-- config.ts # Config file
| +-- label_data_utils.ts # Utils to access label data
| +-- open_digger.js # Expose to Node.js kernel notebook
+-- test
| +-- driver.test.ts # Unit tests for database drivers
| +-- label.test.ts # Unit tests for label data and label utils
| +-- metrics.test.ts # Unit tests for metrics functions
+-- CITATION.cff # Citation file to citate OpenDigger in papers
+-- COUNTRIBUTING.md # Contributing guide
+-- LICENSE # License declaration