logo
5
0
WeChat Login
docs: 修正文档链接

English | 中文

What is this?

This is a beginner's challenge repository for the CNB platform. Through hands-on practice, you'll progressively unlock CNB's core features — from setting up your profile to configuring pipelines, from building container images to creating NPCs.

Each task has clear objectives and a verification mechanism. After submitting a PR, the pipeline will automatically check your progress.

How to Participate

  1. Fork this repository — Click the Fork button in the top right corner to fork this repo to your personal space
  2. Complete tasks — Follow the levels in order and complete corresponding tasks
  3. Submit a PR — Push your changes to your forked repo, then open a Pull Request to this repository
  4. Wait for verification — The CI pipeline will automatically verify your results and provide feedback as comments (✅ Passed / ❌ Failed)

💡 If the current task doesn't involve code changes (e.g., just setting up your profile), you can simply add a file (like creating a hello.txt with your name in it) — as long as you can submit a PR to trigger the pipeline.


Task List

Level 1: Profile Setup ⭐

#TaskDescriptionReference
1.1Change default usernameAfter registration, CNB assigns a default username (e.g., cnb.cwH7BL2BwHA). Go to Account Settings to change it to something memorableN/A
1.2Set your bioYour bio is displayed on your profile page, helping other developers quickly learn about you. Go to Profile Settings to fill it inN/A
1.3Pin repositoriesThe repository wall is your profile's "showcase". Pin your best projects so visitors can see your highlights at a glanceN/A
1.4Follow usersFollowing other developers lets you see their latest activities in your feed. For example, follow: Hunter Bown, 哪嘟通临时工, etc.N/A
1.5Star repositoriesStarring is a way to recognize quality repos. Star these repositories: cnb/feedback, examples/showcaseN/A

Level 2: Repository Settings ⭐

#TaskDescriptionReference
2.1Configure branch protectionBranch protection prevents unreviewed code from being pushed directly to the main branch. Configure it in "Settings → Branch Protection". If you're the repo owner or admin, you can also enable "Allow admins/owners to push to protected branches" to make subsequent challenges smootherN/A
2.2Add an open-source LICENSEA license declares the usage rules for your code. Code without a LICENSE defaults to "all rights reserved". Add a standard license (e.g., MIT) so others can confidently use your codeChoose a License
2.3Customize repository UIThrough the .cnb/settings.yml config file, you can customize the Fork button and Cloud IDE button descriptions, hover images, and more to give your repo personalityUI Customization

Level 3: Pipeline Configuration ⭐⭐

#TaskDescriptionReference
3.1Enable auto-triggerForked repositories do not automatically trigger cloud-native builds by default. Go to "Settings → Cloud Native Build" and enable "Allow event auto-trigger" and "Allow cron auto-trigger" so that subsequent pipeline tasks can run properlyN/A
3.2Push triggerThe most basic trigger — automatically runs the pipeline when code is pushed to a specified branch. Ideal for CI scenariosQuick Start
3.3Crontab triggerConfigure scheduled tasks via cron expressions. Suitable for periodic builds, data sync, health checks, etc. Format: "crontab: 30 5 * * *"Cron Events
3.4Pull Request triggerTriggered when a PR is created or updated. Used for automated code checks, unit tests, and build verification — a great Code Review companionPull Request Events
3.5Tag push triggerTriggered when a tag is pushed. Typically used for releasing versions and building production imagesTag Events
3.6Web triggerManually triggered from the build page. Suitable for tasks that require human confirmation before executionWeb Events
3.7API triggerTrigger pipelines in other repositories via Open API or the built-in cnb:trigger task, enabling cross-repo orchestrationAPI Events
3.8Deploy triggerDefine deployment environments and approval workflows via .cnb/tag_deploy.yml. One-click deploy from the Release page with multi-environment chaining and approval supportCustom Deploy

Level 4: Cloud-Native Development ⭐⭐

#TaskDescriptionReference
4.1Use Cloud IDEClick the "Cloud IDE" button on the repo page to launch a full development environment (VS Code) in your browser — no local setup requiredCloud IDE Intro
4.2Configure custom dev environmentThe default environment may not include the tools you need. Specify a custom Docker image in the vscode event of .cnb.yml to pre-install specific languages, frameworks, and toolchainsCustom Dev Environment
4.3Configure dev previewAfter configuring onlyPreview and launch, the Cloud IDE will automatically start your web app and provide a live preview linkPreview Configuration

Level 5: Artifact Management ⭐⭐⭐

#TaskDescriptionReference
5.1Docker artifactsBuild Docker images via pipelines and push them to CNB's built-in artifact registry, automating the path from code to deployable images. Registry format: docker.cnb.cool/<slug>/<image-name>Docker Artifacts
5.2NPM artifact registryCNB supports hosting private NPM packages. Internal shared component libraries can be managed and distributed through the NPM artifact registryNPM Artifacts
5.3Maven artifact registryJava projects can publish build artifacts to CNB's Maven registry for team-wide dependency managementMaven Artifacts

Level 6: Missions ⭐⭐

#TaskDescriptionReference
6.1Create a missionMissions is CNB's lightweight project management feature, supporting creation, assignment, and tracking of work items. Create missions in your organization to manage development plans and bug trackingMissions

Level 7: NPC & Knowledge Base ⭐⭐⭐

#TaskDescriptionReference
7.1Enable repository knowledge baseOnce enabled, AI will automatically index your repository content, providing more context-aware answers in Issues and PRs. Enable it with one click in repository "Settings"Knowledge Base
7.2Enable WikiCodeWiki is a documentation system deeply integrated with the code repository. Enable it by configuring cnbcool/codewiki:latest in .cnb.yml. Ideal for maintaining project docs and team knowledgeCodeWiki
7.3Create and enable an NPCNPC (Non-Player Character) is CNB's AI assistant. You can create custom NPCs that automatically perform code reviews, summarize PRs, answer technical questions, and even modify code based on requirementsNPC

7 levels, 26 tasks in total. Enjoy the challenge!


Feedback

Having issues? Feel free to open an Issue at cnb/feedback.