TCS Labs Academy is the official learning-content repository for TCS Labs on the Meshery Academy platform. It hosts structured learning paths, challenges, certifications, and Meshery infrastructure designs - teaching engineers to use LLMs and coding agents to design, deploy, operate, and govern cloud native infrastructure, with Meshery as the management plane.
πΊοΈ Start with the Curriculum Master Outline - the complete map of learning paths, courses, the tiered AI certification (CAINA + CAINP), challenges, and importable designs.
| Purpose | Primary source of TCS Labs-specific Meshery learning content |
| Platform | Runs on the shared Layer5 Academy platform |
| Authoring | Markdown-based content with live local preview via Hugo |
| Content types | Learning paths Β· Challenges Β· Certifications Β· Infrastructure designs |
| Curriculum | 6 learning paths, tiered AI certification (CAINA + CAINP) - see CURRICULUM.md |
| Org ID | 25d5053d-9be3-4af2-98dc-fcc3cf1cc4e1 |
Before you begin, ensure you have the following installed:
| Tool | Version | Link |
|---|---|---|
| Hugo (extended) | see go.mod | Install Hugo |
| Go | see go.mod | Install Go |
| Node.js / npm | see package.json | Install Node.js |
| Git | latest | Install Git |
# Fork this repository on GitHub, then clone your fork
git clone https://github.com/<your-username>/tcslabs-academy.git
cd tcslabs-academymake setupPreferred: Start the Hugo development server with drafts and future content enabled, using the Makefile target:
make site_Alternative: _ Or use the hugo CLI directly (at your own risk):
hugo server -DThe site will be available at http://localhost:1313/academy/ (or the port shown in your terminal).
Note: The local preview uses basic styling. Full Academy branding is applied after content is integrated into the cloud platform.
| Command | Description |
|---|---|
make setup |
Install npm dependencies |
make site |
Build and run site locally with draft and future content enabled |
make build |
Build the site for production |
make build-preview |
Build site for preview draft and future content enabled (honors BASEURL) |
make clean |
Clear build cache and restart the dev server |
make lint-fix |
Fix Markdown linting issues with markdownlint-cli2 |
make check-go |
Verify Go is installed locally |
make theme-update |
Update the academy-theme Hugo module to the latest version |
tcslabs-academy/
βββ .github/ # GitHub workflows, issue templates, PR templates
β βββ build/ # Makefile includes
β βββ readme/images/ # README assets
β βββ workflows/ # CI/CD pipelines
β βββ PULL_REQUEST_TEMPLATE.md
βββ assets/json/ # JSON data assets
βββ content/ # π All learning content lives here
β βββ _index.md # Site root page
β βββ learning-paths/ # Learning paths scoped by org ID
β βββ certifications/ # Certification content
β βββ challenges/ # Challenge content
βββ designs/ # Meshery infrastructure designs (YAML)
βββ layouts/ # Hugo layout overrides & shortcodes
β βββ _partials/ # Partial templates
β βββ shortcodes/ # Custom Hugo shortcodes
βββ public/ # Generated site output (git-ignored)
βββ resources/ # Hugo resource cache
βββ go.mod / go.sum # Go module (pulls academy-theme)
βββ hugo.yaml # Hugo configuration
βββ Makefile # Build & dev targets
βββ package.json # Node.js dependencies
βββ README.md # β You are here
The Academy content follows this structure: Learning Path β Course β Chapter β Lesson.
content/
βββ learning-paths/
βββ _index.md
βββ 25d5053d-9be3-4af2-98dc-fcc3cf1cc4e1/ # TCS Labs org UID
βββ <your-learning-path>/
βββ _index.md
βββ <your-course>/
βββ _index.md
βββ content/
βββ lesson-1.md
βββ lesson-2.md
- Place your image files directly in the same directory as your markdown content (Page Bundling method):
content/learning-paths/<orgID>/
βββ your-course/
βββ your-module/
βββ _index.md
βββ meshery-logo.pngEmbed videos in a visually distinct card using:
{{</*card title="Video: Example" */>}}
<video width="100%" height="100%" controls>
<source src="https://example.com/your-video.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
{{</* /card*/>}}-
Place Design Assets Put your design files (e.g.,
cdn.js, design YAMLs) alongside your course or module content, ideally following the same directory conventions used for images. -
Embed Using the meshery-design-embed Shortcode In your markdown file, use:
{{< meshery-design-embed
id="embedded-design-0e3abb9c-39e7-4d09-b46f-26a0238c3c3d"
src="cdn.js"
>}}- Replace
idwith the unique identifier for your design. - Replace
srcwith the path to your JS asset responsible for rendering.
Always use these shortcodes for images, videos, and embedded designs. This keeps assets portable, ensures they resolve correctly for each organization, and integrates properly with the Academy platformβs build and deployment flow.
Assessment files use the Academy test layout. Question and option IDs must be unique within their scope.
---
title: "Assessment Example"
id: "assessment-example"
type: "test"
layout: "test"
passPercentage: 70
maxAttempts: 3
timeLimit: 30
numberOfQuestions: 1
questions:
- id: "q1"
text: "DigitalOcean Academy content is authored in Markdown."
type: "true-false"
marks: 1
options:
- id: "true"
text: "True"
isCorrect: true
- id: "false"
text: "False"
---We welcome contributions! Please follow the fork β branch β commit β push β pull request workflow:
- Fork this repository on GitHub.
- Clone your fork locally:
git clone https://github.com/<your-username>/tcslabs-academy.git cd tcslabs-academy
- Create a branch for your changes:
git checkout -b feature/<your-username>/<issue-number>
- Make your changes β add or edit content in
content/, fix bugs, improve docs. - Preview locally to verify:
hugo server -D
- Commit with a sign-off (required by DCO):
git commit -s -m "docs: describe your change" - Push to your fork:
git push origin feature/<your-username>/<issue-number>
- Open a Pull Request against the
masterbranch of this repository.
For a detailed guide on the fork-and-pull workflow, see CONTRIBUTING-gitflow.md.
- All commits must be signed-off (Developer Certificate of Origin).
- Pull requests should reference an open issue.
- See CONTRIBUTING.md for the full contribution guide.
- See CODE_OF_CONDUCT.md for community standards.
Find other related academies by browsing the "meshery-academy" topic in GitHub. See Academies in Meshery Docs for more about these extensions.
This repository is available as open source under the terms of the Apache 2.0 License.