diff --git a/migrations/drupalorg_migrate_project_general.yml b/migrations/drupalorg_migrate_project_general.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3a12828e87a55be8402cd216a1cfdbf6a52ec7ef
--- /dev/null
+++ b/migrations/drupalorg_migrate_project_general.yml
@@ -0,0 +1,132 @@
+id: drupalorg_migrate_project_general
+label: 'Drupal.org Project Module'
+migration_group: drupalorg_migrate
+#migration_tags:
+#  - Drupal 7
+#  - Content
+
+#deriver: Drupal\node\Plugin\migrate\D7NodeDeriver
+source:
+  plugin: d7_node
+  batch_size: 1000
+  node_type: project_general
+
+destination:
+  plugin: entity:node
+
+process:
+  nid: tnid
+  type:
+    plugin: default_value
+    default_value: project_general
+  title: title
+  field_project_type: field_project_type
+  field_project_machine_name: field_project_machine_name
+
+  field_project_images:
+    plugin: sub_process
+    source: field_project_images
+    process:
+      target_id:
+        plugin: migration_lookup
+        migration: drupalorg_migrate_project_files
+        source: fid
+      alt: alt
+
+  # group_project_classification:
+  field_module_categories:
+    plugin: migration_lookup
+    migration: drupalorg_migrate_module_categories
+    source: taxonomy_vocabulary_3
+  field_maintenance_status:
+    plugin: migration_lookup
+    migration: drupalorg_migrate_maintenance_status
+    source: taxonomy_vocabulary_44
+  field_development_status:
+    plugin: migration_lookup
+    migration: drupalorg_migrate_development_status
+    source: taxonomy_vocabulary_46
+  field_security_advisory_coverage: field_security_advisory_coverage
+  field_project_ecosystem: field_project_ecosystem
+  # group_project_issues
+  field_project_components: field_project_components
+  field_project_default_component: field_project_default_component
+  field_project_issue_guidelines: field_project_issue_guidelines
+  field_issue_summary_template: field_issue_summary_template
+  field_project_has_issue_queue: field_project_has_issue_queue
+  field_project_issue_version_opts: field_project_issue_version_opts
+  # field_replaced_by: field_replaced_by
+  # group_project_releases
+  field_project_has_releases: field_project_has_releases
+  field_release_version_format: field_release_version_format
+  # group_project_resources
+  field_project_screenshots: field_project_screenshots
+  field_project_license: field_project_license
+  field_project_documentation: field_project_documentation
+  field_project_demo: field_project_demo
+  field_project_changelog: field_project_changelog
+  field_project_homepage: field_project_homepage
+  field_next_major_version_info: field_next_major_version_info
+  # upload: upload
+  # group_project_documentation
+  # field_project_docs
+  field_supporting_organizations:
+    -
+      plugin: sub_process
+      source: field_supporting_organizations
+      process:
+        target_id:
+          -
+            plugin: paragraphs_lookup
+            tags: 'Field Collection Content'
+            source: value
+          -
+            plugin: extract
+            index:
+              - id
+        target_revision_id:
+          -
+            plugin: paragraphs_lookup
+            tags:
+              - 'Field Collection Revisions Content'
+              - 'Field Collection Content'
+            tag_ids:
+              'Field Collection Revisions Content':
+                - revision_id
+              'Field Collection Content':
+                - value
+          -
+            plugin: extract
+            index:
+              - revision_id
+  uid:
+    plugin: migration_lookup
+    migration: drupalorg_migrate_users
+    source: node_uid
+  sticky:
+    plugin: default_value
+    default_value: 0
+  status: status
+  body: body
+  created: created
+  changed: changed
+  langcode:
+    plugin: default_value
+    source: language
+    default_value: "und"
+
+migration_dependencies:
+  required:
+    - drupalorg_migrate_development_status
+    - drupalorg_migrate_maintenance_status
+    - drupalorg_migrate_module_categories
+  # https://www.drupal.org/project/drupal/issues/2797505#comment-12129356
+  optional:
+    - drupalorg_migrate_users
+    - drupalorg_migrate_project_files
+    - drupalorg_migrate_field_collection_supporting_organizations
+
+dependencies:
+  enforced:
+    module:
+      - drupalorg_migrate
diff --git a/scripts/migrations.sh b/scripts/migrations.sh
index 95e8018d24abbed6199c6f32d6e9a8443f9b99d3..4e58ea81fe71a1c4ecf2dbb58a2ef2a127f18f1e 100755
--- a/scripts/migrations.sh
+++ b/scripts/migrations.sh
@@ -97,6 +97,7 @@ if [[ "$TYPE" == "all" || "$TYPE" == "project-browser" ]]; then
   drush migrate:import drupalorg_migrate_project_theme
   drush migrate:import drupalorg_migrate_project_theme_engine
   drush migrate:import drupalorg_migrate_project_translation
+  drush migrate:import drupalorg_migrate_project_general
 fi
 
 if [[ "$TYPE" == "all" || "$TYPE" == "content" ]]; then