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 |
|---|---|---|
| Go | see go.mod | Install Go |
| Node.js / npm | see package.json | Install Node.js |
| Git | latest | Install Git |
(Note: Hugo Extended is managed locally via npm and does not need to be installed globally.)
# Fork this repository on GitHub, then clone your fork
git clone https://github.com/<your-username>/tcslabs-academy.git
cd tcslabs-academymake setupStart the Hugo development server with drafts and future content enabled:
make siteThe 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 live reload (draft and future content enabled) |
make serve |
Build and serve the site once with the file watcher off (no live reload) |
make build |
Build the site locally with draft and future content enabled |
make build-preview |
Build the site for a deploy preview (honors DEPLOY_PRIME_URL) |
make build-production |
Build the site for production (pass BASE_URL=... to set the base URL) |
make clean |
Empty the build cache, reinstall dependencies, and run the site locally |
make lint |
Check Markdown for linting issues |
make lint-fix |
Fix Markdown linting issues with markdownlint-cli2 |
make check-links |
Check internal links in the built site |
make check-deps |
Verify required commands and local dependencies are present |
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: "TCS Labs 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:
make site
- 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.
We warmly welcome all contributors! As you get started, please review this project's contributing guidelines.
Contributors are expected to follow the CNCF Code of Conduct.
βοΈ Join the Meshery Slack Community.
βοΈ Discuss in the Community Forum.
βοΈ Explore the Meshery Community Discussions.
βοΈ Get Started with Meshery.