1pub mod command;
7pub mod education;
8pub mod guard;
9pub mod text_filter;
10pub mod shell_syntax;
11pub mod lesson;
12pub mod playground;
13#[cfg(feature = "progress")]
14pub mod session;
15pub mod context;
16pub mod types;
17pub mod virtual_fs;
18pub mod virtual_fs_tools;
19pub mod sandbox;
20pub mod lesson_run;
21mod sandbox_commands;
22pub mod achievement;
23#[cfg(feature = "progress")]
24pub mod stats;
25#[cfg(feature = "progress")]
26pub mod challenge;
27#[cfg(feature = "progress")]
28pub mod recommendation;
29
30pub use command::{Command, CommandAnalyzer, CommandCategory, DangerLevel};
31pub use education::{Educator, Explanation, LearningTip};
32pub use guard::{GuardVerdict, PlaygroundGuard, PLAYGROUND_DISPLAY};
33pub use lesson::{
34 Lesson, LessonStep, StepType, LessonProgress, LessonLibrary,
35 LessonValidator, ValidationResult, Difficulty, CommandValidation, SetupFile,
36 Track, Check, PracticeWorld, EntryKind, Attempt, validate_step, evaluate_checks,
37};
38pub use playground::Playground;
39#[cfg(feature = "progress")]
40pub use session::{Session, SessionState};
41pub use context::{Context, ContextDetector};
42pub use types::{Error, Result};
43pub use virtual_fs::{VirtualFileSystem, DirEntry, TreeNode, Meta};
44pub use sandbox::{Marks, Sandbox, ShellState};
45pub use lesson_run::{Coach, LessonRun, Turn};
46pub use achievement::{Achievement, AchievementCategory, UnlockCondition, UserAchievements, all_achievements};
47#[cfg(feature = "progress")]
48pub use stats::{UserStats, ProgressSummary, StreakStatus, TrackProgress, REST_DAYS, local_today};
49#[cfg(feature = "progress")]
50pub use challenge::{Challenge, ChallengeType, ChallengeStep, ChallengeManager, all_daily_challenges, all_weekly_challenges};
51#[cfg(feature = "progress")]
52pub use recommendation::{LessonRecommendation, RecommendationReason, RecommendationEngine};