Skip to main content

Crate arct_core

Crate arct_core 

Source
Expand description

Arc Academy Terminal - Core Domain

This crate contains the core domain logic for the Arc Academy Terminal, a production-grade interactive learning shell.

Re-exports§

pub use command::Command;
pub use command::CommandAnalyzer;
pub use command::CommandCategory;
pub use command::DangerLevel;
pub use education::Educator;
pub use education::Explanation;
pub use education::LearningTip;
pub use guard::GuardVerdict;
pub use guard::PlaygroundGuard;
pub use guard::PLAYGROUND_DISPLAY;
pub use lesson::Lesson;
pub use lesson::LessonStep;
pub use lesson::StepType;
pub use lesson::LessonProgress;
pub use lesson::LessonLibrary;
pub use lesson::LessonValidator;
pub use lesson::ValidationResult;
pub use lesson::Difficulty;
pub use lesson::CommandValidation;
pub use lesson::SetupFile;
pub use lesson::Track;
pub use lesson::Check;
pub use lesson::PracticeWorld;
pub use lesson::EntryKind;
pub use lesson::Attempt;
pub use lesson::validate_step;
pub use lesson::evaluate_checks;
pub use playground::Playground;
pub use session::Session;
pub use session::SessionState;
pub use context::Context;
pub use context::ContextDetector;
pub use types::Error;
pub use types::Result;
pub use virtual_fs::VirtualFileSystem;
pub use virtual_fs::DirEntry;
pub use virtual_fs::TreeNode;
pub use virtual_fs::Meta;
pub use sandbox::Marks;
pub use sandbox::Sandbox;
pub use sandbox::ShellState;
pub use lesson_run::Coach;
pub use lesson_run::LessonRun;
pub use lesson_run::Turn;
pub use achievement::Achievement;
pub use achievement::AchievementCategory;
pub use achievement::UnlockCondition;
pub use achievement::UserAchievements;
pub use achievement::all_achievements;
pub use stats::UserStats;
pub use stats::ProgressSummary;
pub use stats::StreakStatus;
pub use stats::TrackProgress;
pub use stats::REST_DAYS;
pub use stats::local_today;
pub use challenge::Challenge;
pub use challenge::ChallengeType;
pub use challenge::ChallengeStep;
pub use challenge::ChallengeManager;
pub use challenge::all_daily_challenges;
pub use challenge::all_weekly_challenges;
pub use recommendation::LessonRecommendation;
pub use recommendation::RecommendationReason;
pub use recommendation::RecommendationEngine;

Modules§

achievement
Achievement and gamification system
challenge
Daily and weekly challenge system
command
Command parsing, analysis, and categorization
context
Context detection and environment awareness
education
Educational content and explanation system
guard
Safety guard for real-filesystem lesson practice (“Playground” mode).
lesson
Interactive lesson system for teaching Linux/Bash concepts
lesson_run
Playing a lesson, with no user interface: the hint ladder (Coach) and a whole lesson run in the simulated sandbox (LessonRun).
playground
Real-filesystem practice playground for lessons.
recommendation
Smart lesson recommendation engine
sandbox
The simulated sandbox’s shell, with no user interface: what happens to a typed line before and around each command. Variables, globs, redirection, pipes, && / || / ;, scripts with arguments, and PATH lookups, all inside the lesson’s practice files (VirtualFileSystem, on disk or in memory). The file and text commands themselves are in sandbox_commands.rs.
session
Session management and state tracking
shell_syntax
Shell syntax for the simulated sandbox: quoting, variables, globs, redirection, pipes and command lists.
stats
User statistics and progress tracking
text_filter
Text filters for the simulated sandbox: the commands that usually sit on the right of a pipe (grep, head, tail, wc, sort, uniq, cut, sed, tr), applied to text in memory, plus a line diff. Pure functions, so the sandbox can run cat log | grep ERROR | sort | uniq -c without a real shell.
types
Core types and error handling
virtual_fs
Virtual filesystem for lesson sandboxing
virtual_fs_tools
More sandbox commands that walk the practice files: glob expansion, find, du, tar, gzip, and practice SSH keys.