@cnbcool/cnb-cli 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -61
- package/bin/cnb.js +1 -1
- package/package.json +27 -7
- package/{cag.config.js → skills/cnb-api/scripts/core/config/cag.config.js} +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/core/convertLink.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/core/core.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/core/help.json +16 -16
- package/skills/{cnb-skill → cnb-api}/scripts/modules/activities/get-user-activities-by-date.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/activities/get-user-repo-activity-details.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/activities/top-contributors.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/ai/ai-auto-pr.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/ai/ai-chat-completions.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/assets/delete-asset.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/assets/get-files.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/assets/get-imgs.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/assets/list-assets.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/badge/get-badge.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/badge/list-badge.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/badge/upload-badge.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/build/build-crontab-sync.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/build/build-logs-delete.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/build/build-runner-download-log.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/build/get-build-logs.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/build/get-build-stage.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/build/get-build-status.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/build/start-build.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/build/stop-build.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/charge/get-special-amount.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/event/get-events.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/followers/get-followers-by-user-id.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/followers/get-following-by-user-id.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/create-blob.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/create-branch-lock.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/create-branch.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/create-tag.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/delete-branch-lock.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/delete-branch.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/delete-commit-annotation.js +2 -2
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/delete-commit-asset.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/delete-tag-annotation.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/delete-tag.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-archive-commit-changed-files.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-archive-compare-changed-files.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-archive.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-branch.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-commit-annotations-in-batch.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-commit-annotations.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-commit-assets-by-sha.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-commit-assets.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-commit-statuses.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-commit.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-compare-commits.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-content-without-path.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-content.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-head.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-presigned-lfs-download-link.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-raw.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-tag-annotations.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/get-tag.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/list-branches.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/list-commits.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/list-tags.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/post-commit-asset-upload-confirmation.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/post-commit-asset-upload-url.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/put-commit-annotations.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git/put-tag-annotations.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/delete-branch-protection.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/get-branch-protection.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/get-pipeline-settings.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/get-pull-request-settings.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/get-push-limit-settings.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/list-branch-protections.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/patch-branch-protection.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/post-branch-protection.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/put-pipeline-settings.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/put-pull-request-settings.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/git-settings/put-push-limit-settings.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/can-user-be-assigned-to-issue.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/create-issue.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/delete-issue-assignees.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/delete-issue-label.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/delete-issue-labels.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/get-issue-comment.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/get-issue.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/list-issue-activities-latest.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/list-issue-activities.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/list-issue-assignees.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/list-issue-comments.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/list-issue-labels.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/list-issues.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/patch-issue-assignees.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/patch-issue-comment.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/post-issue-assignees.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/post-issue-comment.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/post-issue-labels.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/put-issue-labels.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/update-issue-properties.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/issues/update-issue.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/knowledge-base/delete-knowledge-base.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/knowledge-base/get-knowledge-base-info.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/knowledge-base/get-models.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/knowledge-base/query-knowledge-base.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/add-members-of-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/add-members-of-mission.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/add-members-of-registry.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/add-members-of-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/delete-members-of-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/delete-members-of-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/delete-outside-collaborators.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/get-member-access-level-of-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/get-member-access-level-of-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/list-all-members.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/list-inherit-members-of-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/list-inherit-members-of-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/list-member-access-level-of-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/list-member-access-level-of-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/list-members-of-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/list-members-of-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/list-outside-collaborators.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/update-members-of-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/update-members-of-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/members/update-outside-collaborators.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/missions/create-mission.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/missions/delete-mission.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/missions/get-group-sub-missions.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/missions/get-mission-view-config.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/missions/get-mission-view-list.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/missions/post-mission-view-config.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/missions/post-mission-view-list.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/missions/put-mission-view-list.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/missions/set-mission-visibility.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/create-organization.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/delete-organization.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/get-group-setting.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/get-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/get-groups-by-user-id.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/list-groups.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/list-subgroups.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/list-top-groups.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/transfer-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/update-group-setting.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/update-organization.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/organizations/upload-logos.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/can-user-be-assigned-to-pull.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/delete-pull-assignees.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/delete-pull-label.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/delete-pull-labels.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/delete-repo-files.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/delete-repo-imgs.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/get-pull-comment.js +2 -2
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/get-pull.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pull-assignees.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pull-comments.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pull-commit-statuses.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pull-commits.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pull-files.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pull-labels.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pull-review-comments.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pull-reviews.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pulls-by-numbers.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/list-pulls.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/merge-pull.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/patch-pull-comment.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/patch-pull.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/post-pull-assignees.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/post-pull-comment.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/post-pull-labels.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/post-pull-request-review-reply.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/post-pull-review.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/post-pull.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/put-pull-labels.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/upload-files.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/upload-imgs.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/registries/delete-package-tag.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/registries/delete-package.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/registries/delete-registry.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/registries/get-group-sub-registries.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/registries/get-package-tag-detail.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/registries/get-package.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/registries/list-package-tags.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/registries/list-packages.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/registries/set-registry-visibility.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/delete-release-asset.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/delete-release.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/get-latest-release.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/get-release-asset.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/get-release-by-id.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/get-release-by-tag.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/get-releases-asset.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/list-releases.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/patch-release.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/post-release-asset-upload-confirmation.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/post-release-asset-upload-url.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/releases/post-release.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repo-code-issue/get-code-issue-detail-open-api.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repo-code-issue/list-code-issue-open-api.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repo-contributor/get-repo-contributor-trend.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repo-labels/delete-label.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repo-labels/list-labels.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repo-labels/patch-label.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repo-labels/post-label.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/archive-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/create-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/delete-repo.js +2 -2
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/get-by-id.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/get-group-sub-repos.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/get-pinned-repo-by-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/get-pinned-repo-by-id.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/get-repos-by-user-name.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/get-repos.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/list-forks-repos.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/set-pinned-repo-by-group.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/set-repo-visibility.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/transfer-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/un-archive-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/repositories/update-repo.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/search/list-public-repos.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/security/get-repo-security-overview.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/starring/get-user-all-stared-repos.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/starring/get-user-stared-repos.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/starring/list-star-users.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/users/auto-complete-source.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/users/get-user-info-by-name.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/users/get-user-info.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/users/list-email.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/users/list-gpg-keys.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/users/update-user-info.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/workspace/delete-workspace.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/workspace/get-workspace-detail.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/workspace/list-workspaces.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/workspace/start-workspace.js +1 -1
- package/skills/{cnb-skill → cnb-api}/scripts/modules/workspace/workspace-stop.js +1 -1
- package/.cnb.yml +0 -37
- package/DEVELOPMENT.md +0 -345
- package/downloads/1773729361207-dsfgely.png +0 -0
- package/skills/artifact-migrate/README.md +0 -79
- package/skills/artifact-migrate/SKILL.md +0 -674
- package/skills/auto-code/SKILL.md +0 -71
- package/skills/auto-code/hooks/hooks.json +0 -15
- package/skills/cnb-code-import/LICENSE +0 -20
- package/skills/cnb-code-import/README.md +0 -311
- package/skills/cnb-code-import/SKILL.md +0 -368
- package/skills/cnb-code-import/scripts/migrate.sh +0 -371
- package/skills/cnb-skill/SKILL.md +0 -100
- package/skills/cnb-skill/scripts/core/config/cag.config.js +0 -57
- package/skills/code-review/README.md +0 -3
- package/skills/code-review/SKILL.md +0 -131
- package/skills/code-review/hooks/hooks.json +0 -15
- package/skills/diagnose-pr-pipeline/README.md +0 -3
- package/skills/diagnose-pr-pipeline/SKILL.md +0 -88
- package/skills/dialog-ci-log/README.md +0 -16
- package/skills/dialog-ci-log/SKILL.md +0 -41
- package/skills/dialog-ci-log/scrips/get-failed-stage-logs.js +0 -124
- package/skills/pr-diff/README.md +0 -3
- package/skills/pr-diff/SKILL.md +0 -97
- package/skills/pr-summary/README.md +0 -3
- package/skills/pr-summary/SKILL.md +0 -70
- package/skills/tapd-resource-fetcher/README.md +0 -3
- package/skills/tapd-resource-fetcher/SKILL.md +0 -97
- package/skills/text-path-converter/README.md +0 -3
- package/skills/text-path-converter/SKILL.md +0 -30
- package/skills/text-path-converter/scripts/convertLink.js +0 -148
- package/test.js +0 -1
- /package/skills/{cnb-skill → cnb-api}/scripts/core/fetch-response-handler.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/core/index.d.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/core/index.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/core/modules.help.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/core/schemaToJson.d.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/core/schemaToJson.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/core/shortcuts.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/core/tools.help.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/core/utils/convert-link.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/core/utils/generate-unique-id.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/get-files.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/modules/pulls/get-imgs.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/modules/rank/get-language-list.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/modules/rank/get-repo-annual-rank.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/modules/rank/get-repo-daily-rank.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/modules/rank/get-repo-monthly-rank.js +0 -0
- /package/skills/{cnb-skill → cnb-api}/scripts/modules/rank/get-repo-weekly-rank.js +0 -0
|
@@ -1,371 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# CNB Code Import - Migration Script
|
|
3
|
-
# Usage: ./migrate.sh --source-platform <platform> --source-token <token> --cnb-org <org> --cnb-token <token> [options]
|
|
4
|
-
|
|
5
|
-
set -e
|
|
6
|
-
|
|
7
|
-
# 默认工作目录
|
|
8
|
-
DEFAULT_WORKSPACE="$HOME/code-import-workspace"
|
|
9
|
-
|
|
10
|
-
# Default values
|
|
11
|
-
SOURCE_PLATFORM="coding"
|
|
12
|
-
SOURCE_URL=""
|
|
13
|
-
SOURCE_TOKEN=""
|
|
14
|
-
SOURCE_REPO=""
|
|
15
|
-
SOURCE_PROJECT=""
|
|
16
|
-
CNB_URL="https://cnb.cool"
|
|
17
|
-
CNB_ROOT_ORGANIZATION=""
|
|
18
|
-
CNB_TOKEN=""
|
|
19
|
-
MIGRATE_TYPE="team"
|
|
20
|
-
MIGRATE_CONCURRENCY=5
|
|
21
|
-
MIGRATE_FORCE_PUSH="false"
|
|
22
|
-
MIGRATE_REBASE="false"
|
|
23
|
-
MIGRATE_SKIP_EXISTS_REPO="false"
|
|
24
|
-
MIGRATE_USE_LFS_MIGRATE="true"
|
|
25
|
-
MIGRATE_ALLOW_INCOMPLETE_PUSH="false"
|
|
26
|
-
MIGRATE_LOG_LEVEL="info"
|
|
27
|
-
MIGRATE_ALLOW_SELECT_REPOS="false"
|
|
28
|
-
MIGRATE_DOWNLOAD_ONLY="false"
|
|
29
|
-
SOURCE_AK=""
|
|
30
|
-
SOURCE_SK=""
|
|
31
|
-
SOURCE_REGION="cn-north-4"
|
|
32
|
-
SOURCE_ORGANIZATIONID=""
|
|
33
|
-
SOURCE_USERNAME=""
|
|
34
|
-
SOURCE_PASSWORD=""
|
|
35
|
-
SOURCE_GROUP=""
|
|
36
|
-
WORKSPACE=""
|
|
37
|
-
|
|
38
|
-
# Colors for output
|
|
39
|
-
RED='\033[0;31m'
|
|
40
|
-
GREEN='\033[0;32m'
|
|
41
|
-
YELLOW='\033[1;33m'
|
|
42
|
-
NC='\033[0m' # No Color
|
|
43
|
-
|
|
44
|
-
log_info() {
|
|
45
|
-
echo -e "${GREEN}[INFO]${NC} $1"
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
log_warn() {
|
|
49
|
-
echo -e "${YELLOW}[WARN]${NC} $1"
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
log_error() {
|
|
53
|
-
echo -e "${RED}[ERROR]${NC} $1"
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
# Parse arguments
|
|
57
|
-
while [[ $# -gt 0 ]]; do
|
|
58
|
-
case $1 in
|
|
59
|
-
--source-platform)
|
|
60
|
-
SOURCE_PLATFORM="$2"
|
|
61
|
-
shift 2
|
|
62
|
-
;;
|
|
63
|
-
--source-url)
|
|
64
|
-
SOURCE_URL="$2"
|
|
65
|
-
shift 2
|
|
66
|
-
;;
|
|
67
|
-
--source-token)
|
|
68
|
-
SOURCE_TOKEN="$2"
|
|
69
|
-
shift 2
|
|
70
|
-
;;
|
|
71
|
-
--source-repo)
|
|
72
|
-
SOURCE_REPO="$2"
|
|
73
|
-
shift 2
|
|
74
|
-
;;
|
|
75
|
-
--source-project)
|
|
76
|
-
SOURCE_PROJECT="$2"
|
|
77
|
-
shift 2
|
|
78
|
-
;;
|
|
79
|
-
--source-ak)
|
|
80
|
-
SOURCE_AK="$2"
|
|
81
|
-
shift 2
|
|
82
|
-
;;
|
|
83
|
-
--source-sk)
|
|
84
|
-
SOURCE_SK="$2"
|
|
85
|
-
shift 2
|
|
86
|
-
;;
|
|
87
|
-
--source-region)
|
|
88
|
-
SOURCE_REGION="$2"
|
|
89
|
-
shift 2
|
|
90
|
-
;;
|
|
91
|
-
--source-organizationid)
|
|
92
|
-
SOURCE_ORGANIZATIONID="$2"
|
|
93
|
-
shift 2
|
|
94
|
-
;;
|
|
95
|
-
--source-username)
|
|
96
|
-
SOURCE_USERNAME="$2"
|
|
97
|
-
shift 2
|
|
98
|
-
;;
|
|
99
|
-
--source-password)
|
|
100
|
-
SOURCE_PASSWORD="$2"
|
|
101
|
-
shift 2
|
|
102
|
-
;;
|
|
103
|
-
--source-group)
|
|
104
|
-
SOURCE_GROUP="$2"
|
|
105
|
-
shift 2
|
|
106
|
-
;;
|
|
107
|
-
--cnb-url)
|
|
108
|
-
CNB_URL="$2"
|
|
109
|
-
shift 2
|
|
110
|
-
;;
|
|
111
|
-
--cnb-org)
|
|
112
|
-
CNB_ROOT_ORGANIZATION="$2"
|
|
113
|
-
shift 2
|
|
114
|
-
;;
|
|
115
|
-
--cnb-token)
|
|
116
|
-
CNB_TOKEN="$2"
|
|
117
|
-
shift 2
|
|
118
|
-
;;
|
|
119
|
-
--migrate-type)
|
|
120
|
-
MIGRATE_TYPE="$2"
|
|
121
|
-
shift 2
|
|
122
|
-
;;
|
|
123
|
-
--concurrency)
|
|
124
|
-
MIGRATE_CONCURRENCY="$2"
|
|
125
|
-
shift 2
|
|
126
|
-
;;
|
|
127
|
-
--force-push)
|
|
128
|
-
MIGRATE_FORCE_PUSH="$2"
|
|
129
|
-
shift 2
|
|
130
|
-
;;
|
|
131
|
-
--rebase)
|
|
132
|
-
MIGRATE_REBASE="$2"
|
|
133
|
-
shift 2
|
|
134
|
-
;;
|
|
135
|
-
--allow-incomplete-push)
|
|
136
|
-
MIGRATE_ALLOW_INCOMPLETE_PUSH="$2"
|
|
137
|
-
shift 2
|
|
138
|
-
;;
|
|
139
|
-
--skip-exists)
|
|
140
|
-
MIGRATE_SKIP_EXISTS_REPO="$2"
|
|
141
|
-
shift 2
|
|
142
|
-
;;
|
|
143
|
-
--lfs-migrate)
|
|
144
|
-
MIGRATE_USE_LFS_MIGRATE="$2"
|
|
145
|
-
shift 2
|
|
146
|
-
;;
|
|
147
|
-
--log-level)
|
|
148
|
-
MIGRATE_LOG_LEVEL="$2"
|
|
149
|
-
shift 2
|
|
150
|
-
;;
|
|
151
|
-
--allow-select-repos)
|
|
152
|
-
MIGRATE_ALLOW_SELECT_REPOS="$2"
|
|
153
|
-
shift 2
|
|
154
|
-
;;
|
|
155
|
-
--download-only)
|
|
156
|
-
MIGRATE_DOWNLOAD_ONLY="$2"
|
|
157
|
-
shift 2
|
|
158
|
-
;;
|
|
159
|
-
--workspace)
|
|
160
|
-
WORKSPACE="$2"
|
|
161
|
-
shift 2
|
|
162
|
-
;;
|
|
163
|
-
-h|--help)
|
|
164
|
-
echo "CNB Code Import - Migrate code repositories to CNB"
|
|
165
|
-
echo ""
|
|
166
|
-
echo "Usage: $0 --source-platform <platform> --source-token <token> --cnb-org <org> --cnb-token <token> [options]"
|
|
167
|
-
echo ""
|
|
168
|
-
echo "Required:"
|
|
169
|
-
echo " --source-platform Source platform: coding/github/gitlab/gitee/aliyun/cnb/gongfeng/huaweicloud/common"
|
|
170
|
-
echo " --source-token Source platform access token"
|
|
171
|
-
echo " --cnb-org CNB root organization name"
|
|
172
|
-
echo " --cnb-token CNB access token"
|
|
173
|
-
echo ""
|
|
174
|
-
echo "Optional:"
|
|
175
|
-
echo " --source-url Source platform URL (default: auto-detect)"
|
|
176
|
-
echo " --source-repo Specific repos to migrate (comma-separated)"
|
|
177
|
-
echo " --source-project CODING project names (comma-separated, when migrate-type=project)"
|
|
178
|
-
echo " --source-ak HuaweiCloud AK (when source-platform=huaweicloud)"
|
|
179
|
-
echo " --source-sk HuaweiCloud SK (when source-platform=huaweicloud)"
|
|
180
|
-
echo " --source-region HuaweiCloud region (default: cn-north-4)"
|
|
181
|
-
echo " --source-organizationid Aliyun organization ID"
|
|
182
|
-
echo " --source-username Common platform username"
|
|
183
|
-
echo " --source-password Common platform password"
|
|
184
|
-
echo " --source-group CNB source group (when migrating from CNB to CNB)"
|
|
185
|
-
echo " --cnb-url CNB URL (default: https://cnb.cool)"
|
|
186
|
-
echo " --migrate-type Migration type: team/project/repo (default: team)"
|
|
187
|
-
echo " --concurrency Concurrent migration count (default: 5, max: 10)"
|
|
188
|
-
echo " --force-push Force push to CNB (true/false, default: false) ⚠️ DANGEROUS"
|
|
189
|
-
echo " --skip-exists Skip existing repos on CNB (true/false, default: false)"
|
|
190
|
-
echo " --lfs-migrate Use LFS migrate for large files (true/false, default: true)"
|
|
191
|
-
echo " --rebase Use git rebase for sync (true/false, default: false) ⚠️ DANGEROUS"
|
|
192
|
-
echo " --allow-incomplete-push Allow incomplete LFS push (true/false, default: false) ⚠️ DANGEROUS"
|
|
193
|
-
echo " --log-level Log level: debug/info/warn/error (default: info)"
|
|
194
|
-
echo " --allow-select-repos Allow selecting specific repos (true/false, default: false)"
|
|
195
|
-
echo " --download-only Only download repos, don't push to CNB (true/false, default: false)"
|
|
196
|
-
echo " --workspace Custom workspace directory (default: \$HOME/code-import-workspace)"
|
|
197
|
-
echo ""
|
|
198
|
-
echo "Examples:"
|
|
199
|
-
echo " # Migrate all repos from CODING"
|
|
200
|
-
echo " $0 --source-platform coding --source-token xxx --cnb-org myorg --cnb-token xxx"
|
|
201
|
-
echo ""
|
|
202
|
-
echo " # Migrate specific GitHub repos"
|
|
203
|
-
echo " $0 --source-platform github --source-token xxx --cnb-org myorg --cnb-token xxx --source-repo 'user/repo1,user/repo2'"
|
|
204
|
-
echo ""
|
|
205
|
-
echo " # Migrate from HuaweiCloud"
|
|
206
|
-
echo " $0 --source-platform huaweicloud --source-token xxx --source-ak xxx --source-sk xxx --source-region cn-north-4 --cnb-org myorg --cnb-token xxx"
|
|
207
|
-
exit 0
|
|
208
|
-
;;
|
|
209
|
-
*)
|
|
210
|
-
log_error "Unknown option: $1"
|
|
211
|
-
exit 1
|
|
212
|
-
;;
|
|
213
|
-
esac
|
|
214
|
-
done
|
|
215
|
-
|
|
216
|
-
# Validate required parameters
|
|
217
|
-
if [[ -z "$SOURCE_PLATFORM" ]]; then
|
|
218
|
-
log_error "Missing required parameter: --source-platform"
|
|
219
|
-
exit 1
|
|
220
|
-
fi
|
|
221
|
-
|
|
222
|
-
if [[ -z "$CNB_ROOT_ORGANIZATION" ]]; then
|
|
223
|
-
log_error "Missing required parameter: --cnb-org"
|
|
224
|
-
exit 1
|
|
225
|
-
fi
|
|
226
|
-
|
|
227
|
-
if [[ -z "$CNB_TOKEN" ]]; then
|
|
228
|
-
log_error "Missing required parameter: --cnb-token"
|
|
229
|
-
exit 1
|
|
230
|
-
fi
|
|
231
|
-
|
|
232
|
-
# 危险选项二次确认
|
|
233
|
-
DANGER_OPTIONS=()
|
|
234
|
-
[[ "$MIGRATE_FORCE_PUSH" == "true" ]] && DANGER_OPTIONS+=("强制推送 (force-push): 将强制覆盖 CNB 侧仓库历史")
|
|
235
|
-
[[ "$MIGRATE_REBASE" == "true" ]] && DANGER_OPTIONS+=("Rebase 模式 (rebase): 将使用 git rebase 同步,如遇冲突需人工解决")
|
|
236
|
-
[[ "$MIGRATE_ALLOW_INCOMPLETE_PUSH" == "true" ]] && DANGER_OPTIONS+=("不完整推送 (allow-incomplete-push): 可能忽略损坏的 LFS 文件,导致数据不完整")
|
|
237
|
-
|
|
238
|
-
if [[ ${#DANGER_OPTIONS[@]} -gt 0 ]]; then
|
|
239
|
-
log_warn "⚠️ 检测到以下危险选项:"
|
|
240
|
-
for opt in "${DANGER_OPTIONS[@]}"; do
|
|
241
|
-
echo -e "${YELLOW} - $opt${NC}"
|
|
242
|
-
done
|
|
243
|
-
echo ""
|
|
244
|
-
log_warn "⚠️ 这些操作可能导致数据丢失或损坏!"
|
|
245
|
-
echo ""
|
|
246
|
-
read -p "是否确认继续执行?(输入 yes 确认): " CONFIRM
|
|
247
|
-
if [[ "$CONFIRM" != "yes" ]]; then
|
|
248
|
-
log_error "用户取消执行"
|
|
249
|
-
exit 1
|
|
250
|
-
fi
|
|
251
|
-
log_info "用户已确认危险操作,继续执行..."
|
|
252
|
-
echo ""
|
|
253
|
-
fi
|
|
254
|
-
|
|
255
|
-
# Set default SOURCE_URL based on platform
|
|
256
|
-
if [[ -z "$SOURCE_URL" ]]; then
|
|
257
|
-
case $SOURCE_PLATFORM in
|
|
258
|
-
coding)
|
|
259
|
-
SOURCE_URL="https://e.coding.net"
|
|
260
|
-
;;
|
|
261
|
-
github)
|
|
262
|
-
SOURCE_URL="https://github.com"
|
|
263
|
-
;;
|
|
264
|
-
gitlab)
|
|
265
|
-
SOURCE_URL="https://gitlab.com"
|
|
266
|
-
;;
|
|
267
|
-
gitee)
|
|
268
|
-
SOURCE_URL="https://gitee.com"
|
|
269
|
-
;;
|
|
270
|
-
aliyun)
|
|
271
|
-
SOURCE_URL="https://codeup.aliyun.com"
|
|
272
|
-
;;
|
|
273
|
-
cnb)
|
|
274
|
-
SOURCE_URL="https://cnb.cool"
|
|
275
|
-
;;
|
|
276
|
-
gongfeng)
|
|
277
|
-
SOURCE_URL="https://git.woa.com"
|
|
278
|
-
;;
|
|
279
|
-
gitea)
|
|
280
|
-
# Gitea 通常是自建实例,需用户通过 --source-url 指定
|
|
281
|
-
log_error "Gitea requires --source-url to specify the instance URL"
|
|
282
|
-
exit 1
|
|
283
|
-
;;
|
|
284
|
-
huaweicloud)
|
|
285
|
-
SOURCE_URL="https://codearts.devcloud.${SOURCE_REGION}.huaweicloud.com"
|
|
286
|
-
;;
|
|
287
|
-
common)
|
|
288
|
-
SOURCE_URL="https://common.com"
|
|
289
|
-
;;
|
|
290
|
-
*)
|
|
291
|
-
log_error "Unknown source platform: $SOURCE_PLATFORM"
|
|
292
|
-
exit 1
|
|
293
|
-
;;
|
|
294
|
-
esac
|
|
295
|
-
fi
|
|
296
|
-
|
|
297
|
-
# Validate HuaweiCloud parameters
|
|
298
|
-
if [[ "$SOURCE_PLATFORM" == "huaweicloud" ]]; then
|
|
299
|
-
if [[ -z "$SOURCE_AK" || -z "$SOURCE_SK" ]]; then
|
|
300
|
-
log_error "HuaweiCloud requires --source-ak and --source-sk"
|
|
301
|
-
exit 1
|
|
302
|
-
fi
|
|
303
|
-
fi
|
|
304
|
-
|
|
305
|
-
# Validate Aliyun parameters
|
|
306
|
-
if [[ "$SOURCE_PLATFORM" == "aliyun" ]]; then
|
|
307
|
-
if [[ -z "$SOURCE_ORGANIZATIONID" ]]; then
|
|
308
|
-
log_error "Aliyun requires --source-organizationid"
|
|
309
|
-
exit 1
|
|
310
|
-
fi
|
|
311
|
-
fi
|
|
312
|
-
|
|
313
|
-
# Build docker run command
|
|
314
|
-
DOCKER_CMD="docker run --rm"
|
|
315
|
-
|
|
316
|
-
# Add environment variables
|
|
317
|
-
DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_PLATFORM=\"$SOURCE_PLATFORM\""
|
|
318
|
-
DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_URL=\"$SOURCE_URL\""
|
|
319
|
-
DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_TOKEN=\"$SOURCE_TOKEN\""
|
|
320
|
-
DOCKER_CMD="$DOCKER_CMD -e PLUGIN_CNB_ROOT_ORGANIZATION=\"$CNB_ROOT_ORGANIZATION\""
|
|
321
|
-
DOCKER_CMD="$DOCKER_CMD -e PLUGIN_CNB_TOKEN=\"$CNB_TOKEN\""
|
|
322
|
-
|
|
323
|
-
# Optional parameters
|
|
324
|
-
[[ -n "$SOURCE_REPO" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_REPO=\"$SOURCE_REPO\""
|
|
325
|
-
[[ -n "$SOURCE_PROJECT" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_PROJECT=\"$SOURCE_PROJECT\""
|
|
326
|
-
[[ -n "$SOURCE_AK" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_AK=\"$SOURCE_AK\""
|
|
327
|
-
[[ -n "$SOURCE_SK" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_SK=\"$SOURCE_SK\""
|
|
328
|
-
[[ -n "$SOURCE_REGION" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_REGION=\"$SOURCE_REGION\""
|
|
329
|
-
[[ -n "$SOURCE_ORGANIZATIONID" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_ORGANIZATIONID=\"$SOURCE_ORGANIZATIONID\""
|
|
330
|
-
[[ -n "$SOURCE_USERNAME" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_USERNAME=\"$SOURCE_USERNAME\""
|
|
331
|
-
[[ -n "$SOURCE_PASSWORD" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_PASSWORD=\"$SOURCE_PASSWORD\""
|
|
332
|
-
[[ -n "$SOURCE_GROUP" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_SOURCE_GROUP=\"$SOURCE_GROUP\""
|
|
333
|
-
[[ -n "$CNB_URL" && "$CNB_URL" != "https://cnb.cool" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_CNB_URL=\"$CNB_URL\""
|
|
334
|
-
[[ -n "$MIGRATE_TYPE" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_TYPE=\"$MIGRATE_TYPE\""
|
|
335
|
-
[[ -n "$MIGRATE_CONCURRENCY" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_CONCURRENCY=\"$MIGRATE_CONCURRENCY\""
|
|
336
|
-
[[ "$MIGRATE_FORCE_PUSH" == "true" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_FORCE_PUSH=\"true\""
|
|
337
|
-
[[ "$MIGRATE_REBASE" == "true" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_REBASE=\"true\""
|
|
338
|
-
[[ "$MIGRATE_ALLOW_INCOMPLETE_PUSH" == "true" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_ALLOW_INCOMPLETE_PUSH=\"true\""
|
|
339
|
-
[[ "$MIGRATE_SKIP_EXISTS_REPO" == "true" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_SKIP_EXISTS_REPO=\"true\""
|
|
340
|
-
[[ "$MIGRATE_USE_LFS_MIGRATE" == "false" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_USE_LFS_MIGRATE=\"false\""
|
|
341
|
-
[[ -n "$MIGRATE_LOG_LEVEL" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_LOG_LEVEL=\"$MIGRATE_LOG_LEVEL\""
|
|
342
|
-
[[ "$MIGRATE_ALLOW_SELECT_REPOS" == "true" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_ALLOW_SELECT_REPOS=\"true\""
|
|
343
|
-
[[ "$MIGRATE_DOWNLOAD_ONLY" == "true" ]] && DOCKER_CMD="$DOCKER_CMD -e PLUGIN_MIGRATE_DOWNLOAD_ONLY=\"true\""
|
|
344
|
-
|
|
345
|
-
# Add volume mount
|
|
346
|
-
DOCKER_CMD="$DOCKER_CMD -v \$(pwd):\$(pwd) -w \$(pwd)"
|
|
347
|
-
|
|
348
|
-
# Add image (使用 CNB 镜像源,更稳定)
|
|
349
|
-
DOCKER_CMD="$DOCKER_CMD docker.cnb.cool/cnb/plugins/cnbcool/code-import:latest"
|
|
350
|
-
|
|
351
|
-
# 设置工作目录
|
|
352
|
-
if [[ -z "$WORKSPACE" ]]; then
|
|
353
|
-
WORKSPACE="$DEFAULT_WORKSPACE"
|
|
354
|
-
fi
|
|
355
|
-
|
|
356
|
-
# 创建工作目录
|
|
357
|
-
mkdir -p "$WORKSPACE"
|
|
358
|
-
cd "$WORKSPACE"
|
|
359
|
-
|
|
360
|
-
log_info "Starting migration..."
|
|
361
|
-
log_info "Source Platform: $SOURCE_PLATFORM"
|
|
362
|
-
log_info "Source URL: $SOURCE_URL"
|
|
363
|
-
log_info "CNB Organization: $CNB_ROOT_ORGANIZATION"
|
|
364
|
-
log_info "Concurrency: $MIGRATE_CONCURRENCY"
|
|
365
|
-
log_info "Workspace: $WORKSPACE"
|
|
366
|
-
echo ""
|
|
367
|
-
|
|
368
|
-
# Execute docker command
|
|
369
|
-
eval $DOCKER_CMD
|
|
370
|
-
|
|
371
|
-
log_info "Migration completed!"
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cnb-skill
|
|
3
|
-
description: 提供与CNB(Cloud Native Build)OpenAPI的完整交互能力,支持项目、组织、代码仓库、Issue、PR、合并请求、流水线,制品库等核心功能的增删改查操作。适用于开发协作、代码管理和CI/CD流程管理场景。关键词:CNB、云原生构建、组织、代码仓库、Issue、PR、合并请求、流水线、制品库,查询、新增、修改、删除、评论、合并、审批。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# cnb-skill
|
|
7
|
-
|
|
8
|
-
## 概括
|
|
9
|
-
|
|
10
|
-
本Skill提供完整的CNB的Openapi完整交互能力,用户可以使用此skills对CNB上的资源进行操作。
|
|
11
|
-
|
|
12
|
-
## 适用场景
|
|
13
|
-
|
|
14
|
-
当用户描述对CNB上的资源进行操作时,应该使用此skills进行操作。例如:
|
|
15
|
-
- 查询cnb上某个仓库的Issue列表
|
|
16
|
-
- 对cnb上的某个仓库的Issue或者pr进行评论。
|
|
17
|
-
- ...
|
|
18
|
-
|
|
19
|
-
## 核心原则
|
|
20
|
-
|
|
21
|
-
### 准确性原则
|
|
22
|
-
- **CRITICAL**: 必须先执行 `cnb --help` 获取最新的使用方式
|
|
23
|
-
- **CRITICAL**: 必须通过使用 `cnb`命令行工具,按照帮助信息执行操作
|
|
24
|
-
- **CRITICAL**: 禁止推测或臆断使用方式,严格基于脚本返回的帮助信息进行操作
|
|
25
|
-
- **CRITICAL**: 不要询问用户"是否需要我执行",直接根据帮助信息执行脚本,并返回结果
|
|
26
|
-
|
|
27
|
-
## 脚本使用指南
|
|
28
|
-
|
|
29
|
-
### 第一步:获取帮助信息
|
|
30
|
-
在执行任何任务前,必须先运行以下命令获取最新的使用方式:
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
cnb --help
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
这将显示所有可用的模块及其工具列表。
|
|
37
|
-
|
|
38
|
-
### 第二步:查看具体模块帮助
|
|
39
|
-
使用 `--module` 参数查看特定模块的详细帮助:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
cnb --module <模块名> -help
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### 第三步:查看工具详细使用
|
|
46
|
-
使用 `--module` 和 `--tool` 参数查看工具的详细参数说明:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
cnb --module <模块名> --tool <工具名> --help
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### 第四步:执行工具
|
|
53
|
-
根据第三步获取的参数说明,执行工具:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
cnb --module <模块名> --tool <工具名> --path '{"参数": "值"}' --query '{"参数": "值"}' --data '{"参数": "值"}'
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**参数说明:**
|
|
60
|
-
- `--module`: 必须参数,模块名称
|
|
61
|
-
- `--tool`: 必须参数,工具名称
|
|
62
|
-
- `--path`: 可选参数,路径参数,JSON字符串格式
|
|
63
|
-
- `--query`: 可选参数,查询参数,JSON字符串格式
|
|
64
|
-
- `--data`: 可选参数,数据参数,JSON字符串格式
|
|
65
|
-
- `--help`: 可选参数,显示帮助文档
|
|
66
|
-
|
|
67
|
-
### 第五步:处理结果
|
|
68
|
-
|
|
69
|
-
每一个工具调用都会返回一个标准的JSON结构:
|
|
70
|
-
- status: 一个http状态码
|
|
71
|
-
- trace: 本次调用的traceID
|
|
72
|
-
- header: 本次调用的header
|
|
73
|
-
- data: 本次调用的openapi返回的实体内容
|
|
74
|
-
|
|
75
|
-
#### header说明
|
|
76
|
-
当请求列表时,会在header中包含以下字段说明列表的情况:
|
|
77
|
-
- `x-cnb-page`: 当前页数
|
|
78
|
-
- `x-cnb-page-size`: 每页条数
|
|
79
|
-
- `x-cnb-total`: 总条数
|
|
80
|
-
|
|
81
|
-
从中可以获取到列表的总条数,以及当前页数和每页条数,避免循环请求。
|
|
82
|
-
|
|
83
|
-
#### status说明
|
|
84
|
-
API 返回标准的 JSON 格式响应。请根据 HTTP 状态码判断请求是否成功:
|
|
85
|
-
|
|
86
|
-
- 200: 请求成功
|
|
87
|
-
- 400: 请求参数错误
|
|
88
|
-
- 401: 未授权
|
|
89
|
-
- 403: 禁止访问
|
|
90
|
-
- 404: 资源不存在
|
|
91
|
-
- 500: 服务器内部错误
|
|
92
|
-
|
|
93
|
-
当本地调用返回的 `status` 在 200 ~ 299 之间,只需要返回 `data` 内容给用户。只有当 `status >= 300` 时,才将 `status` 和 `trace` 返回给用户。
|
|
94
|
-
|
|
95
|
-
#### 资源处理
|
|
96
|
-
|
|
97
|
-
当尝试下载图片进行图片分析时,遇到图片下载异常时,请使用以下工具进行图片下载!
|
|
98
|
-
```bash
|
|
99
|
-
node scripts/core/index.js assets get-imgs --help
|
|
100
|
-
```
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
target: 'https://api.cnb.cool/swagger.json',
|
|
3
|
-
skillsOutputDir: `./skills/cnb-skill`,
|
|
4
|
-
// skillsDev: true,
|
|
5
|
-
skillConfig: {
|
|
6
|
-
fetchConfig: {
|
|
7
|
-
responseConverter: {
|
|
8
|
-
'get@/{repo}/-/issues/{number}': {
|
|
9
|
-
converter: 'convert-link',
|
|
10
|
-
handler: (handler, fetchOriginParams, data) => {
|
|
11
|
-
data.body = handler(data.body, fetchOriginParams.path.repo);
|
|
12
|
-
return data
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
'get@/{repo}/-/issues/{number}/comments/{comment_id}': {
|
|
16
|
-
converter: 'convert-link',
|
|
17
|
-
handler: (handler, fetchOriginParams, data) => {
|
|
18
|
-
data.body = handler(data.body, fetchOriginParams.path.repo);
|
|
19
|
-
return data
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
'get@/{repo}/-/issues/{number}/comments': {
|
|
23
|
-
converter: 'convert-link',
|
|
24
|
-
handler: (handler, fetchOriginParams, data) => {
|
|
25
|
-
for (let i = 0; i < data.length; i++) {
|
|
26
|
-
data[i].body = handler(data[i].body, fetchOriginParams.path.repo);
|
|
27
|
-
}
|
|
28
|
-
return data
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
'get@/{repo}/-/pulls/{number}': {
|
|
32
|
-
converter: 'convert-link',
|
|
33
|
-
handler: (handler, fetchOriginParams, data) => {
|
|
34
|
-
data.body = handler(data.body, fetchOriginParams.path.repo);
|
|
35
|
-
return data
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
'get@/{repo}/-/pulls/{number}/comments/{comment_id}': {
|
|
39
|
-
converter: 'convert-link',
|
|
40
|
-
handler: (handler, fetchOriginParams, data) => {
|
|
41
|
-
data.body = handler(data.body, fetchOriginParams.path.repo);
|
|
42
|
-
return data
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
'get@/{repo}/-/pulls/{number}/comments': {
|
|
46
|
-
converter: 'convert-link',
|
|
47
|
-
handler: (handler, fetchOriginParams, data) => {
|
|
48
|
-
for (let i = 0; i < data.length; i++) {
|
|
49
|
-
data[i].body = handler(data[i].body, fetchOriginParams.path.repo);
|
|
50
|
-
}
|
|
51
|
-
return data
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: code-review
|
|
3
|
-
description: PR 代码评审。当用户请求 review、评审、审查代码或 PR 时使用。此技能提供标准化评审流程:获取 diff、按优先级检查安全漏洞/Bug/代码质量、输出结构化 JSON 结果、通过 API 发送行级评论。
|
|
4
|
-
allowed-tools: Bash,Read,Glob,Grep
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# PR 代码评审
|
|
8
|
-
|
|
9
|
-
对 PR 的代码变更进行专业评审,发现安全漏洞、Bug、代码质量和性能问题,并通过 PR Review API 发送行级评论。
|
|
10
|
-
|
|
11
|
-
## 评审步骤
|
|
12
|
-
|
|
13
|
-
### 1. 获取 PR 变更
|
|
14
|
-
|
|
15
|
-
使用 pr-diff Skill 获取 PR 的代码变更。
|
|
16
|
-
|
|
17
|
-
**需过滤的非代码文件**(不评审):
|
|
18
|
-
- 依赖锁文件:`package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`, `go.sum`, `Cargo.lock` 等
|
|
19
|
-
- 图片文件:`*.png`, `*.jpg`, `*.gif`, `*.svg`, `*.ico` 等
|
|
20
|
-
- 字体文件:`*.woff`, `*.ttf`, `*.eot` 等
|
|
21
|
-
- 二进制文件:`*.exe`, `*.dll`, `*.so`, `*.jar`, `*.pyc` 等
|
|
22
|
-
- 压缩文件:`*.zip`, `*.tar.gz`, `*.rar` 等
|
|
23
|
-
- 压缩的代码:`*.min.js`, `*.min.css`, `*.map`
|
|
24
|
-
- 构建产物目录:`dist/`, `build/`, `out/`, `target/`, `.next/`
|
|
25
|
-
- 依赖目录:`node_modules/`, `vendor/`, `.venv/`
|
|
26
|
-
|
|
27
|
-
**文件限制**:
|
|
28
|
-
- 最多评审 30 个文件
|
|
29
|
-
- diff 最大 100000 字符(超出则截断)
|
|
30
|
-
|
|
31
|
-
### 2. 分析代码
|
|
32
|
-
|
|
33
|
-
**评审重点**(按优先级):
|
|
34
|
-
|
|
35
|
-
1. **安全漏洞**:SQL 注入、XSS、CSRF、硬编码凭证、敏感信息泄露、不安全加密
|
|
36
|
-
2. **潜在 Bug**:空指针、数组越界、并发问题、资源泄漏、异常处理不当
|
|
37
|
-
3. **代码质量**:可读性、命名规范、代码重复
|
|
38
|
-
4. **性能问题**:N+1 查询、低效算法、不必要的 I/O
|
|
39
|
-
|
|
40
|
-
**评审原则**:
|
|
41
|
-
- 只评审新增代码(diff 中 `+` 开头的行,不含 `+++` 文件头)
|
|
42
|
-
- **禁止评审**:删除的代码(`-` 开头)、上下文代码、未修改的代码
|
|
43
|
-
- **忽略**:EOF 换行符、行尾空格、缩进风格(应由 linter 处理)
|
|
44
|
-
|
|
45
|
-
**理解上下文**:
|
|
46
|
-
当 diff 上下文不足以理解代码时(如需要看函数定义、类型、依赖关系),使用 Read 工具读取相关源文件理解上下文,并确认准确的行号。
|
|
47
|
-
|
|
48
|
-
### 3. 输出评审结果
|
|
49
|
-
|
|
50
|
-
**必须严格输出以下 JSON 格式**:
|
|
51
|
-
|
|
52
|
-
```json
|
|
53
|
-
{
|
|
54
|
-
"status": "passed | needs_modification | critical",
|
|
55
|
-
"issues": [
|
|
56
|
-
{
|
|
57
|
-
"severity": "critical | warning | info",
|
|
58
|
-
"file": "文件路径",
|
|
59
|
-
"start_line": 起始行号,
|
|
60
|
-
"end_line": 结束行号,
|
|
61
|
-
"problem": "问题:描述问题",
|
|
62
|
-
"suggestion": "建议:修复建议"
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**字段说明**:
|
|
69
|
-
- `status`: 评审状态
|
|
70
|
-
- `passed`: 通过,无问题
|
|
71
|
-
- `needs_modification`: 需要修改
|
|
72
|
-
- `critical`: 存在严重问题
|
|
73
|
-
- `severity`: 问题严重程度
|
|
74
|
-
- `critical`: 严重(安全漏洞、崩溃 Bug)
|
|
75
|
-
- `warning`: 警告(潜在问题)
|
|
76
|
-
- `info`: 建议(代码质量改进)
|
|
77
|
-
- `start_line` / `end_line`: 问题代码的行号范围(对应新文件行号)
|
|
78
|
-
- `problem` / `suggestion`: 使用 Markdown 格式,提高可读性
|
|
79
|
-
- 使用 \`代码\` 标记变量名、函数名
|
|
80
|
-
- 使用代码块展示修复示例
|
|
81
|
-
|
|
82
|
-
**无问题时**:`issues` 为空数组 `[]`
|
|
83
|
-
|
|
84
|
-
### 4. 发送评审评论
|
|
85
|
-
|
|
86
|
-
**重要**:使用 CNB API 发送评论,API 基础地址从环境变量 `CNB_API_ENDPOINT` 获取(默认 `https://api.cnb.cool`),仓库名从环境变量 `CNB_REPO_SLUG` 获取,PR 编号从环境变量 `CNB_PULL_REQUEST_IID` 获取。
|
|
87
|
-
|
|
88
|
-
**有问题时**:调用 PostPullReview 接口发送行级评审评论:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
curl -X POST \
|
|
92
|
-
"${CNB_API_ENDPOINT:-https://api.cnb.cool}/${CNB_REPO_SLUG}/-/pulls/${CNB_PULL_REQUEST_IID}/reviews" \
|
|
93
|
-
-H "Accept: application/vnd.cnb.api+json" \
|
|
94
|
-
-H "Authorization: Bearer $CNB_TOKEN" \
|
|
95
|
-
-H "Content-Type: application/json" \
|
|
96
|
-
-d '{
|
|
97
|
-
"body": "**评审结果**: 需要修改",
|
|
98
|
-
"event": "comment",
|
|
99
|
-
"comments": [
|
|
100
|
-
{
|
|
101
|
-
"body": "问题: ...\n建议: ...",
|
|
102
|
-
"path": "文件路径",
|
|
103
|
-
"start_line": 起始行号,
|
|
104
|
-
"start_side": "right",
|
|
105
|
-
"end_line": 结束行号,
|
|
106
|
-
"end_side": "right",
|
|
107
|
-
"subject_type": "line"
|
|
108
|
-
}
|
|
109
|
-
]
|
|
110
|
-
}'
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**无问题时**:调用 PostPullComment 接口发送总结评论:
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
curl -X POST \
|
|
117
|
-
"${CNB_API_ENDPOINT:-https://api.cnb.cool}/${CNB_REPO_SLUG}/-/pulls/${CNB_PULL_REQUEST_IID}/comments" \
|
|
118
|
-
-H "Accept: application/vnd.cnb.api+json" \
|
|
119
|
-
-H "Authorization: Bearer $CNB_TOKEN" \
|
|
120
|
-
-H "Content-Type: application/json" \
|
|
121
|
-
-d '{
|
|
122
|
-
"body": "**评审结果**: 通过\n\n代码质量良好,未发现明显问题。"
|
|
123
|
-
}'
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## 注意事项
|
|
127
|
-
|
|
128
|
-
1. **最多发送 10 条评论**,优先发送严重程度高的问题(critical > warning > info)
|
|
129
|
-
2. 行号必须对应 diff 中的**新文件行号**(右侧行号),务必通过读取源文件确认
|
|
130
|
-
3. 每条评论要具体说明问题原因和修复建议
|
|
131
|
-
4. 评审结果必须是有效的 JSON 格式
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"hooks": {
|
|
3
|
-
"PreToolUse": [
|
|
4
|
-
{
|
|
5
|
-
"matcher": "(?i)(代码评审|代码审查|code\\s*review|review\\s*(this\\s*)?PR|review\\s*(this\\s*)?MR|评审\\s*(这个)?\\s*(PR|MR|合并请求)|帮我\\s*(做)?\\s*(代码)?\\s*review|帮我\\s*评审)",
|
|
6
|
-
"hooks": [
|
|
7
|
-
{
|
|
8
|
-
"type": "prompt",
|
|
9
|
-
"prompt": "用户请求进行代码评审。请使用 code-review 技能来自动获取 PR 变更并进行逐行评审"
|
|
10
|
-
}
|
|
11
|
-
]
|
|
12
|
-
}
|
|
13
|
-
]
|
|
14
|
-
}
|
|
15
|
-
}
|