Skip to content

Releases: CGSeb/lessonfolk

v1.1.0

Choose a tag to compare

@CGSeb CGSeb released this 12 Oct 17:40
51b5a1d

New

  • Visit statistics on the hosted site. LessonFolk can now count visits with a self-hosted Umami: no cookie, no IP address stored, nothing loaded on sign-in, account or consent pages or while you are signed in, and Do Not Track is respected. It is off unless UMAMI_WEBSITE_ID is set, so a LessonFolk you run yourself measures nothing. The privacy notice gets a "Visit statistics" section (only where it is on) and its text is now justified. Statistics are kept 25 months at most.
  • A custom 404 page.
  • Finished course badges stand out, and "Recommended" is hidden on them.
  • Companion: a "Copy rules" button in the hint shown when a read is refused, which also tells which permission rules are needed, and a clearer message when it cannot read the progress.

Fixes

  • Every MCP tool now declares its four hints and an input schema.
  • The license file is the standard MIT text, so GitHub shows "MIT".

For whoever hosts a server

After deploying, open the Umami dashboard through an SSH tunnel, change its default password, create the site and set UMAMI_WEBSITE_ID; add purge-analytics.sh to cron. The steps are in deploy/.env.example.

v1.0.1

Choose a tag to compare

@CGSeb CGSeb released this 11 Oct 16:31
96cd89a

Fixes

  • Claude Code plugin now includes the LessonFolk connection. After installing the plugin, no MCP server was added; it is now declared in the plugin itself, so /mcp shows plugin:lessonfolk-tutor:lessonfolk.
  • Clearer "Allow access" page. A long app name no longer fills the heading: the heading is fixed ("Allow this app to use LessonFolk?") and the app name is shown below it. For an app on your computer the page says "This app runs on your computer" and folds the technical address under "Technical details"; for a website the address stays visible with its warning. Shorter wording for the name notice.

v1.0.0

Choose a tag to compare

@CGSeb CGSeb released this 11 Oct 15:55
fade817

LessonFolk 1.0

Learn AI from zero to advanced, with an AI as your tutor. Connect your AI chat, say "let's start", and learn in a conversation that adapts to your level and saves your progress.

What you get

  • 9 courses, grouped in four themes (Understanding AI, Using AI tools, Building with AI, AI and society), from beginner to advanced, with a recommended path.
  • A tutor that adapts: a level check, a personal path, short lessons, questions after each idea, and a review mode that quizzes you on weak spots.
  • Hosted at lessonfolk.com: sign in with GitHub or Google, connect Claude Code (plugin), claude.ai or ChatGPT, and your progress follows your account.
  • Or self-hosted: docker compose up -d --build, no sign-in, nothing leaves your computer.
  • Claude Code plugin with the learn, progress and review skills and a Course companion pane.
  • Your data is yours: download everything or delete your account from the Account page; see the privacy notice.
  • Open source: code under MIT, courses under CC BY 4.0. Writing a course needs no code: open your AI agent in the repository and say "create a course about…".

Since 0.4.0

  • New course: Context Engineering for Long-Running Agents.
  • Lessons are taught and checked in the conversation: the Exercise section is gone from the lesson format and from every lesson, and lesson times are re-estimated.
  • The Claude Code learner plugin, the landing page teaser video, and a "Projects" teaser page.
  • A completed privacy notice: who runs the server, legal bases, your rights, a minimum age of 16.
  • Contribution templates, community files and quieter dependency updates.

Coming next

  • Projects: real projects to practise what the courses teach, with your tutor as a coach.
  • More courses (an advanced one, a second "AI and society" course) and translations: see the open course issues.

Questions and ideas: Discussions.

v0.4.0

Choose a tag to compare

@CGSeb CGSeb released this 10 Oct 19:56
4ecdef7

Dashboard

  • New "Bright Thread" look: the dashboard reads as a chat thread. The site speaks in tutor bubbles, what the learner says or does is an indigo bubble, and the next lesson and achievements are the amber spark bubble (#194).
  • Courses take the colour of their theme on the catalog and course pages (#194).
  • Plus Jakarta Sans and DM Mono replace Inter, which stays for the wordmark. Both are self-hosted (#194).
  • Dark theme: see-through bubbles and a softer amber (#194).

v0.3.0

Choose a tag to compare

@CGSeb CGSeb released this 10 Oct 15:50
926a829

Dashboard

  • The footer shows the release the server runs, with a link to it on GitHub (#193).
  • The consent page is all or nothing: Allow grants exactly what the app asked for, Deny grants nothing. It also says more clearly where access is given (#191).

Tutor

  • The tutor treats learner-written data (notes, profile text, imported progress) as data, never as instructions (#190).

Courses

  • 11 lessons revised after a first course review: missing check questions, an unexplained term and "as you saw" wording (#192).
  • npm run check:courses warns when a course's estimatedHours does not match the sum of its lessons (#192).
  • New npm run review:courses, the brief a coding agent follows to review lessons against a rubric (#192).

Security and maintenance

  • esbuild is forced to a patched version (#188).
  • The docs note that hosts must configure log and backup retention.

v0.2.0

Choose a tag to compare

@CGSeb CGSeb released this 10 Oct 10:10
55d3f1d

Security hardening

Result of the security review (#111):

  • Learners can see and end their browser sessions, and see and disconnect the AI apps connected to their account (#182, #183).
  • MCP tokens are scoped per tool, with read and write permissions (#181).
  • The app runs as a least-privilege database role (#180).
  • The CSP no longer uses 'unsafe-inline'; scripts and styles are allowed by hash (#179).
  • Security headers, rate limits and request or import size limits on the web app, the MCP server and the OAuth endpoints (#162, #159).
  • The total size of saved progress is capped on every write (#177).
  • App names are marked as unverified on the consent page, and unused OAuth clients are purged (#178).
  • Sign-in redirects, no-sign-in mode and session settings are hardened (#154).
  • Docker images are pinned by digest, and dependencies, the image and the CI supply chain are hardened (#176, #165).
  • The infrastructure was reviewed and the backup script hardened (#153).
  • Tests check that learners reach only their own data and that it stays out of logs (#155).

Dashboard

  • New mobile top menu: the links open from a menu button on phones (#186).
  • On the courses page, the theme counters follow the search and the Recommended filter (#187).

v0.1.2

Choose a tag to compare

@CGSeb CGSeb released this 10 Oct 07:03
f35e9d1

The privacy notice now lists the stored data and says where it is stored. README links to lessonfolk.com.

v0.1.1

Choose a tag to compare

@CGSeb CGSeb released this 09 Oct 20:34
81e9e92

Fix sign-in behind the HTTPS proxy: the form origin check now accepts the public address.

v0.1.0

Choose a tag to compare

@CGSeb CGSeb released this 09 Oct 20:17
694719c

First hosted release