Skip to content

Commit 58fe20f

Browse files
committed
Refine and populate documentation for Terminal tools and shell environment according to Antigravity spec
1 parent 210b6ec commit 58fe20f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+3373
-72
lines changed

Antigravity.md

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
# CodeCampus OS — Official User Guide Specification
2+
3+
## Purpose
4+
5+
This document defines the writing standards for the CodeCampus OS User Guide.
6+
7+
The guide is designed for:
8+
- Beginner software engineers
9+
- Computer Science & Engineering (CSE) students
10+
- Self-learners who are new to Linux-based development environments
11+
12+
The goal is **not** to simply list tools, but to teach students:
13+
- What each tool is
14+
- Why it exists
15+
- How it is used in real-world software development workflows
16+
17+
CodeCampus differentiates itself from other setups (such as Omakub) by providing:
18+
- Deep, student-focused explanations
19+
- Clear installation instructions for multiple Linux distributions
20+
- Practical guidance instead of surface-level descriptions
21+
22+
---
23+
24+
## Writing Style Rules
25+
26+
- Clear, direct, and professional
27+
- Beginner-friendly, but **never dumbed down**
28+
- No marketing language
29+
- No generic or AI-style filler content
30+
- Prefer explanations over buzzwords
31+
- Assume curiosity and willingness to learn, not prior expertise
32+
33+
---
34+
35+
## Required Structure for Every Tool Section
36+
37+
Every tool **must** follow the structure below exactly.
38+
39+
---
40+
41+
## Tool Name
42+
43+
Use a clear and descriptive main heading.
44+
45+
Example:
46+
```markdown
47+
## Git
48+
````
49+
50+
---
51+
52+
### What is it?
53+
54+
Explain:
55+
56+
* What the tool is
57+
* What problem it solves
58+
* Where it fits in the software development ecosystem
59+
60+
This section must be understandable to a first-year CS student with minimal prior exposure.
61+
62+
---
63+
### Installation (Optional)
64+
65+
!!! note
66+
CodeCampus OS includes this tool by default.
67+
Use the commands below only if installing on another distribution.
68+
69+
=== "Ubuntu / Debian"
70+
```bash
71+
sudo apt install git
72+
```
73+
74+
=== "Arch / Manjaro"
75+
```bash
76+
sudo pacman -S git
77+
```
78+
79+
=== "Fedora"
80+
```bash
81+
sudo dnf install git
82+
```
83+
84+
=== "openSUSE"
85+
```bash
86+
sudo zypper install git
87+
```
88+
89+
### Why this tool matters (In Depth)
90+
91+
This is the **most important section**.
92+
93+
Explain in detail:
94+
95+
* Why students should care about this tool
96+
* How it improves productivity or understanding
97+
* What problems students will face without it
98+
* Where and how it is used in real-world projects
99+
100+
Write this as a thoughtful explanation, not bullet-point hype.
101+
102+
---
103+
104+
### How students will actually use it
105+
106+
Explain:
107+
108+
* Common real-world usage scenarios
109+
* Typical beginner-level workflows or commands
110+
* How the tool fits into daily development work
111+
112+
If commands are shown, clearly explain **what each command does and why it is used**.
113+
114+
---
115+
116+
### Professional Insight (Top 1% Knowledge)
117+
118+
Provide insight that:
119+
120+
* Beginners usually do not know
121+
* Reflects how experienced engineers think about this tool
122+
* Helps students avoid common mistakes or bad habits
123+
124+
This section should feel like advice from a senior engineer or mentor.
125+
126+
---
127+
128+
## Formatting Rules
129+
130+
* Use Markdown headings only
131+
* Use tables **only** for installation instructions
132+
* Avoid emojis
133+
* Avoid unnecessary bullet lists
134+
* Prefer clear paragraphs and explanations
135+
136+
---
137+
138+
## End Goal
139+
140+
After reading a tool section, a student should:
141+
142+
* Understand **why** the tool exists
143+
* Know **how** to install it on their Linux distribution
144+
* Know **when and how** to use it correctly
145+
* Feel confident exploring the tool further on their own
146+
147+

docs/Desktop/launchers/ulancher.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Ulauncher
2+
3+
### What is it?
4+
5+
Ulauncher is a fast, keyboard-driven application launcher for Linux. It is designed to help users find and open applications, search through files, and perform system tasks without ever moving their hands away from the keyboard. For developers, it serves as the central interface for navigating their operating system, analogous to Alfred on macOS.
6+
7+
### Installation (Optional)
8+
9+
!!! note
10+
CodeCampus OS includes Ulauncher by default.
11+
Use the commands below only if you are installing it on a different Linux distribution.
12+
13+
=== "Ubuntu / Debian"
14+
```bash
15+
sudo add-apt-repository ppa:agornostal/ulauncher
16+
sudo apt update
17+
sudo apt install ulauncher
18+
```
19+
20+
=== "Arch / Manjaro"
21+
```bash
22+
sudo pacman -S ulauncher
23+
```
24+
25+
=== "Fedora"
26+
```bash
27+
sudo dnf install ulauncher
28+
```
29+
30+
### Why this tool matters (In Depth)
31+
32+
In professional software development, maintaining focus and minimizing friction are essential for productivity. Every time a developer lifts their hand from the keyboard to navigate a graphical menu with a mouse, they incur a cognitive "context switch" penalty. While seemingly minor, these interruptions break the "flow state"—the period of deep concentration required for complex problem-solving.
33+
34+
Ulauncher eliminates this friction by providing a unified, keyboard-first command interface. Beyond simple application launching, it reduces the need to navigate through complex file structures or multiple browser tabs for simple tasks. By integrating system commands, file searches, and web shortcuts into a single prompt, Ulauncher allows you to navigate your entire development environment at the speed of thought. Mastering a launcher is a fundamental step in transitioning from a casual user to a high-output software engineer.
35+
36+
### How students will actually use it
37+
38+
Students will primarily use Ulauncher to navigate their daily development environment without distraction:
39+
40+
* **Launching Applications:** Press `Alt + Space` and type the first few letters of your tool (e.g., `cod` for VS Code, `ter` for Terminal) and hit Enter.
41+
* **Quick Calculations:** Perform math directly in the search bar (e.g., `2^10` or `150 * 1.05`) to avoid opening a separate calculator application.
42+
* **File and Folder Search:** Find specific project directories or configuration files instantly without browsing through a file manager.
43+
* **Web Search Shortcuts:** Use predefined keywords to search the web. For example, typing `g react hooks` will immediately open a Google search in your browser, saving you the steps of opening the browser and navigating to the search bar.
44+
45+
### Professional Insight (Top 1% Knowledge)
46+
47+
The true power of Ulauncher lies in its community-driven extensions. While beginners use it as a simple search bar, experienced engineers use it to bridge disparate workflows. You should explore extensions that allow you to search your clipboard history, manage Docker containers, or open specific VS Code projects directly from the launcher.
48+
49+
A professional habit is the rigorous minimization of keystrokes. You can customize keyword triggers for your most frequent tasks—for example, reducing the StackOverflow search trigger to a single letter `s`. This creates a personalized, high-speed command center where any developer task is only two or three keystrokes away. Reaching this level of muscle memory separates senior engineers who can navigate systems effortlessly from those who are slowed down by their interface.
50+
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
2+
## CodeCompass – Official Website
3+
4+
**CodeCompass** is the **official hub** for everything related to the Codekub learning ecosystem.
5+
6+
It brings together:
7+
8+
* Beginner guides
9+
* Tool explanations
10+
* Learning resources
11+
* Developer workflows
12+
13+
CodeCompass helps students understand **not just what to install, but why they are using it**.
14+
15+
---
16+
17+
## CSE Starter Kit
18+
19+
The **CSE Starter Kit** is a beginner-focused section of CodeCompass.
20+
21+
It is designed for:
22+
23+
* First-year CSE / IT students
24+
* Programming beginners
25+
* Students new to Linux and developer tools
26+
27+
What it contains:
28+
29+
* Step-by-step beginner guides
30+
* Clear explanations of tools (Git, Docker, Neovim, VS Code, etc.)
31+
* Learning paths for programming and system tools
32+
* No assumptions of prior knowledge
33+
34+
Think of it as:
35+
36+
> **“Everything a CSE student wishes they had on day one.”**
37+
38+
---
39+
40+
## DevSetup
41+
42+
**DevSetup** is a practical tools page.
43+
44+
It provides:
45+
46+
* Ready-to-use terminal commands
47+
* One-line installers
48+
* Setup instructions for development tools
49+
50+
Purpose:
51+
52+
* Save time
53+
* Avoid setup mistakes
54+
* Ensure consistent environments
55+
56+
Instead of searching random blogs, you get **tested, copy-paste-safe commands**.
57+
58+
---
59+
60+
## Repeto
61+
62+
**Repeto** focuses on **real-world experience and opportunities**.
63+
64+
It covers:
65+
66+
* Internships
67+
* Research opportunities
68+
* Hackathons
69+
* Repeated practice & application learning
70+
71+
Why it exists:
72+
73+
* Beginners often learn tools but don’t know **where to apply them**
74+
* Repetro bridges the gap between **learning and experience**
75+

docs/Desktop/learning/distrosea.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# DistroSea
2+
3+
### What is it?
4+
5+
DistroSea is a web-based platform that allows users to run and explore various Linux distributions directly within a browser without any local installation. It provides a virtualization layer that hosts a remote Linux environment, which users interact with through a browser-based desktop or terminal interface.
6+
7+
In the Linux ecosystem, DistroSea serves as an **exploration and evaluation tool**. It is designed to help users experiment with different operating systems and desktop environments (like GNOME, KDE Plasma, or XFCE) before committing to a permanent installation on their hardware.
8+
9+
### Installation (Optional)
10+
11+
!!! note
12+
DistroSea is a web-based service and does not require installation.
13+
It is accessible via any modern web browser.
14+
15+
* **Website:** [distrosea.com](https://distrosea.com/)
16+
17+
### Why this tool matters (In Depth)
18+
19+
For students entering the Linux world, the primary barrier to entry is fragmentation. With hundreds of distributions and dozens of desktop environments available, choosing a starting point can be overwhelming. DistroSea matters because it **lowers the cost of experimentation to zero**.
20+
21+
By providing a sandboxed, disposable environment, it allows students to overcome the "fear of breaking things" that often accompanies a first-time Linux installation. It allows them to observe how different package managers (like `apt`, `pacman`, or `dnf`) work in practice and how various systems handle default configurations. This hands-on experience transforms abstract knowledge about "Linux distros" into concrete technical understanding, leading to more informed decisions about their own development environment.
22+
23+
### How students will actually use it
24+
25+
Students will use DistroSea as a safe playground for system exploration:
26+
27+
* **Distro Hopping (Risk-Free):** Testing multiple distributions—such as Ubuntu, Arch Linux, or Fedora—to compare their user interfaces and default toolsets.
28+
* **Desktop Environment Evaluation:** Launching different versions of the same distro to see whether they prefer the workflow of GNOME, the customization of KDE, or the minimalism of XFCE.
29+
* **Safe Command Practice:** Using the browser terminal to practice high-risk commands (like modifying filesystem tables or system configurations) without any risk to their host machine.
30+
* **Quick Troubleshooting:** Verifying if a specific software package or configuration behaves differently on a clean, remote distribution compared to their local setup.
31+
32+
### Professional Insight (Top 1% Knowledge)
33+
34+
Experienced engineers treat DistroSea as a **pre-flight verification tool**. While it is not a substitute for a local development environment, a professional uses it to quickly verify the layout or default behavior of a system they might soon be deploying to a server or a client's machine.
35+
36+
A professional habit is to use tools like this to **audit default environments**. For example, an engineer might launch a DistroSea session simply to check which version of a library or kernel a specific distro ships with by default. This saves the time of downloading a multi-gigabyte ISO and setting up a local virtual machine just for a five-minute check.
37+
38+
The "Top 1%" insight here is understanding the **limitations of the abstraction**. A senior engineer knows that a browser-based session will never reflect the true latency, hardware compatibility, or performance of a bare-metal installation. They use DistroSea to judge "logic and layout," while reserving "performance and stability" judgements for a local, dedicated environment. Use DistroSea to narrow your choices, but always perform your final benchmarks on your actual hardware.
39+
40+
41+

docs/Desktop/learning/education.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Educational Resources
2+
3+
### What is it?
4+
5+
Educational resources in the software development ecosystem are curated platforms—such as Exercism, MIT OpenCourseWare, and The Missing Semester—that provide structured paths for learning computer science fundamentals, programming languages, and professional engineering tools. These resources bridge the gap between casual interest and professional proficiency by offering high-quality, often free, curricula.
6+
7+
In the software development ecosystem, these platforms belong to the **lifelong learning and skill-acquisition layer**. They allow students to follow standardized, university-grade curricula or focused technical paths at their own pace, independent of traditional institutional constraints.
8+
9+
### Installation (Optional)
10+
11+
!!! note
12+
These resources are web-based platforms accessible through a browser.
13+
Recommended starting points include:
14+
15+
* **MIT Missing Semester:** [missing.csail.mit.edu](https://missing.csail.mit.edu/)
16+
* **Exercism:** [exercism.org](https://exercism.org/)
17+
* **MIT OpenCourseWare:** [ocw.mit.edu](https://ocw.mit.edu/)
18+
* **The Odin Project:** [theodinproject.com](https://theodinproject.com/)
19+
20+
### Why this tool matters (In Depth)
21+
22+
A university degree often focuses on theoretical computer science, sometimes neglecting the practical day-to-day tools used in the industry. Conversely, many online tutorials focus only on "how to build" without explaining "how it works." Educational resources matter because they allow students to **fill these critical gaps**.
23+
24+
Platforms like "The Missing Semester" are particularly important because they teach the manual skills—shell scripting, version control, and debugging—that senior engineers expect but universities rarely teach formally. Exercism matters because it provides a **mentor-driven feedback loop**; writing code is one thing, but having a senior engineer review your implementation of an algorithm provides insights into idiomatic patterns and code quality that self-study alone cannot provide.
25+
26+
For students, these resources provide a way to build a "T-shaped" skill set—deep expertise in one area (like web development via The Odin Project) combined with a broad understanding of computer science fundamentals (via OSSU or MIT OCW). This breadth and depth are what define a prepared engineering candidate in the modern job market.
27+
28+
### How students will actually use it
29+
30+
Students will use these resources to build a comprehensive and practical engineering foundation:
31+
32+
* **Closing Tool Gaps:** Following "The Missing Semester" to master the Linux terminal, Git, and Vim, ensuring they are productive in a professional environment.
33+
* **Language Proficiency:** Using Exercism to solve dozens of small, focused problems in a new language (like Go or Rust) to internalize its syntax and best practices.
34+
* **Project-Based Learning:** Following "The Odin Project" or "freeCodeCamp" to build real-world applications (like a terminal-based game or a web server) for their portfolio.
35+
* **Deep Theory:** Watching MIT OCW lectures on "Introduction to Algorithms" or "Operating Systems" to build the theoretical foundation necessary for senior-level systems design.
36+
* **Community Mentorship:** Participating in Exercism's mentorship program to learn how experienced developers think about code structure and performance.
37+
38+
### Professional Insight (Top 1% Knowledge)
39+
40+
The "Top 1%" of engineers don't stop using these resources once they get a job. They treat their education as a **perpetual engineering project**. A senior developer might return to Exercism to learn a functional language (like Haskell) just to expand their mental models of data flow, or revisit an MIT OCW course on distributed systems when their team is scaling an application.
41+
42+
A professional habit is to **curate your own curriculum**. Don't just follow a platform blindly; analyze your weaknesses and find the world-class resource that addresses them. Furthermore, understand the value of **mentorship and code review**. The fastest way to grow is to have your code torn apart by someone better than you. By actively seeking feedback on platforms like Exercism, you develop the thick skin and analytical eye necessary to succeed in high-stakes professional environments. Treat these resources not as "homework," but as your personal research and development department.

0 commit comments

Comments
 (0)