made first thing
This commit is contained in:
116
.cursorrules
Normal file
116
.cursorrules
Normal file
@@ -0,0 +1,116 @@
|
||||
You are helping edit .module files for Language Reactor language courses. Follow the format specification exactly.
|
||||
|
||||
## File Structure
|
||||
|
||||
A .module file contains: module header → lessons → activities (dialogue, grammar, exercise, chat).
|
||||
|
||||
## Module Header (required)
|
||||
|
||||
```
|
||||
$MODULE
|
||||
DIOCO_DOC_ID: lc_course_name_u01
|
||||
TITLE: Unit 1: Title Here
|
||||
DESCRIPTION: Brief description of what this module teaches.
|
||||
TARGET_LANG_G: fr
|
||||
HOME_LANG_G: en
|
||||
```
|
||||
|
||||
Required fields: DIOCO_DOC_ID, TITLE, TARGET_LANG_G, HOME_LANG_G.
|
||||
|
||||
## Voice Configuration (optional, in header)
|
||||
|
||||
```
|
||||
VOICE_DEFAULT: Aoede | Speak clearly and naturally
|
||||
VOICE_INTRO: Aoede | Speak like a friendly narrator
|
||||
VOICE: Speaker_Id | Display Name | VoiceName | Optional style instruction
|
||||
```
|
||||
|
||||
Voice names (case-sensitive): Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat.
|
||||
|
||||
Speaker IDs must be alnum/underscore only, no spaces (e.g., M_Dupont, Mme_Durand).
|
||||
|
||||
## Critical Rules
|
||||
|
||||
- Section markers ($LESSON, $DIALOGUE, etc.) have NO colon and title on same line
|
||||
- Fields (LINE:, SPEAKER:, etc.) DO have a colon
|
||||
- All fields and markers start at column 0 (no indentation)
|
||||
- INTRO is spoken aloud before an activity (2-3 sentences max)
|
||||
- INSTRUCTION is shown at top of screen during activity (one line)
|
||||
- Do NOT include _T translation fields (LINE_T, PROMPT_T, RESPONSE_T, VOCAB_T) unless specifically requested — the translation pipeline adds these automatically
|
||||
|
||||
## $LESSON
|
||||
|
||||
Divides module into study sessions (15-45 minutes each).
|
||||
|
||||
```
|
||||
$LESSON Dialogue and Vocabulary
|
||||
```
|
||||
|
||||
## $DIALOGUE
|
||||
|
||||
Each LINE becomes a card the student swipes through. Audio plays automatically.
|
||||
|
||||
```
|
||||
$DIALOGUE Title Here
|
||||
INTRO: Brief spoken introduction.
|
||||
INSTRUCTION: Brief on-screen reminder.
|
||||
|
||||
VOCAB: word or phrase
|
||||
VOCAB_T: definition
|
||||
SPEAKER: Speaker_Name
|
||||
LINE: Target language text.
|
||||
LINE_T: Translation (blurred until tapped).
|
||||
NOTES: Grammar tip or cultural note for this line.
|
||||
```
|
||||
|
||||
VOCAB entries appear before the LINE they relate to. Each VOCAB must be paired with VOCAB_T.
|
||||
|
||||
## $GRAMMAR
|
||||
|
||||
Free-form markdown. Phrases in {curly brackets} become audio buttons.
|
||||
|
||||
```
|
||||
$GRAMMAR Title Here
|
||||
INTRO: Brief spoken introduction.
|
||||
|
||||
## Section Header
|
||||
|
||||
**Bold term** explanation text.
|
||||
|
||||
- {Target language phrase} - English meaning
|
||||
- {Another phrase} - Another meaning
|
||||
```
|
||||
|
||||
Inside {curly brackets}: NO markdown formatting (no **bold**, *italic*, or list markers).
|
||||
|
||||
## $EXERCISE
|
||||
|
||||
Audio-lingual drills. Student hears prompt, speaks response aloud, then checks.
|
||||
|
||||
```
|
||||
$EXERCISE Title Here
|
||||
INTRO: Brief spoken introduction.
|
||||
INSTRUCTION: Brief on-screen reminder.
|
||||
|
||||
EXAMPLE
|
||||
PROMPT: The stimulus
|
||||
PROMPT_T: Translation of prompt
|
||||
RESPONSE: Expected answer
|
||||
RESPONSE_T: Translation of response
|
||||
|
||||
PROMPT: Next prompt
|
||||
RESPONSE: Expected response
|
||||
```
|
||||
|
||||
EXAMPLE marks the next item as a demonstration (shown unblurred). Every exercise should start with at least one EXAMPLE.
|
||||
|
||||
## $CHAT
|
||||
|
||||
Open-ended AI conversation practice.
|
||||
|
||||
```
|
||||
$CHAT Title Here
|
||||
INTRO: Brief spoken introduction.
|
||||
SCENARIO: Shown to student — their role and context.
|
||||
INITIAL_PROMPT: System prompt for AI character (hidden from student).
|
||||
```
|
||||
87
01.module
Normal file
87
01.module
Normal file
@@ -0,0 +1,87 @@
|
||||
$MODULE
|
||||
DIOCO_DOC_ID: lc_sample_french_u01
|
||||
TITLE: Unit 1: At the Café
|
||||
DESCRIPTION: Learn to order drinks at a French café.
|
||||
TARGET_LANG_G: fr
|
||||
HOME_LANG_G: en
|
||||
|
||||
VOICE_DEFAULT: Aoede | Speak clearly and naturally
|
||||
VOICE: Serveur | The Waiter | Achernar | Speak like a formal French waiter
|
||||
VOICE: Client | The Customer | Aoede | Speak like a tourist
|
||||
|
||||
$LESSON Ordering a Coffee
|
||||
|
||||
$DIALOGUE At the Counter
|
||||
INTRO: A tourist orders coffee at a Parisian café.
|
||||
INSTRUCTION: Listen and repeat each line.
|
||||
|
||||
VOCAB: désirez
|
||||
VOCAB_T: desire (formal "would like")
|
||||
SPEAKER: Serveur
|
||||
LINE: Bonjour ! Qu'est-ce que vous désirez ?
|
||||
LINE_T: Hello! What would you like?
|
||||
NOTES: "Désirez" is more formal than "voulez"
|
||||
|
||||
VOCAB: voudrais
|
||||
VOCAB_T: would like (conditional of vouloir)
|
||||
VOCAB: s'il vous plaît
|
||||
VOCAB_T: please (formal)
|
||||
SPEAKER: Client
|
||||
LINE: Je voudrais un café, s'il vous plaît.
|
||||
LINE_T: I would like a coffee, please.
|
||||
|
||||
SPEAKER: Serveur
|
||||
LINE: Un express ou un café crème ?
|
||||
LINE_T: An espresso or a coffee with cream?
|
||||
|
||||
SPEAKER: Client
|
||||
LINE: Un café crème, s'il vous plaît.
|
||||
LINE_T: A coffee with cream, please.
|
||||
|
||||
SPEAKER: Serveur
|
||||
LINE: Voilà, Monsieur. Ça fait deux euros cinquante.
|
||||
LINE_T: Here you are, sir. That's two euros fifty.
|
||||
|
||||
$GRAMMAR Polite Requests with "Je voudrais"
|
||||
|
||||
## The Conditional for Requests
|
||||
|
||||
**Je voudrais** is the conditional form of *vouloir*. It's the polite way to make requests:
|
||||
|
||||
- {Je voudrais un café.} - I would like a coffee.
|
||||
- {Je voudrais un croissant.} - I would like a croissant.
|
||||
- {Je voudrais l'addition.} - I would like the check.
|
||||
|
||||
## Asking "What would you like?"
|
||||
|
||||
In formal service contexts, you'll hear:
|
||||
|
||||
- {Qu'est-ce que vous désirez ?} - What would you like? (formal)
|
||||
- {Vous désirez ?} - What would you like? (shorter, common)
|
||||
|
||||
$EXERCISE Ordering Practice
|
||||
INTRO: Now practice ordering items at the café.
|
||||
INSTRUCTION: Say what you would like.
|
||||
|
||||
EXAMPLE
|
||||
PROMPT: coffee
|
||||
PROMPT_T: coffee
|
||||
RESPONSE: Je voudrais un café, s'il vous plaît.
|
||||
RESPONSE_T: I would like a coffee, please.
|
||||
|
||||
PROMPT: croissant
|
||||
RESPONSE: Je voudrais un croissant, s'il vous plaît.
|
||||
|
||||
PROMPT: the check
|
||||
RESPONSE: Je voudrais l'addition, s'il vous plaît.
|
||||
|
||||
PROMPT: a coffee with cream
|
||||
RESPONSE: Je voudrais un café crème, s'il vous plaît.
|
||||
|
||||
PROMPT: two espressos
|
||||
RESPONSE: Je voudrais deux express, s'il vous plaît.
|
||||
|
||||
$CHAT Your Turn at the Café
|
||||
INTRO: Now practice a real conversation at the café.
|
||||
SCENARIO: You are at a Parisian café. Order a drink and a pastry. The waiter may ask follow-up questions. Use polite language.
|
||||
INITIAL_PROMPT: You are a friendly French waiter at a café in Paris. Greet the customer, take their order, and respond naturally. Keep responses short and appropriate for a beginner learner. Use formal "vous" throughout.
|
||||
6
course.course
Normal file
6
course.course
Normal file
@@ -0,0 +1,6 @@
|
||||
$COURSE
|
||||
DIOCO_PLAYLIST_ID: lc_test_french
|
||||
TITLE: Test French Course
|
||||
DESCRIPTION: A test course for the contribution system.
|
||||
TARGET_LANG_G: fr
|
||||
HOME_LANG_G: en
|
||||
Reference in New Issue
Block a user