Skip to content

Commit fd221db

Browse files
feat(webapp): strengthen public landing experience
1 parent c6435a4 commit fd221db

63 files changed

Lines changed: 1664 additions & 1515 deletions

File tree

Some content is hidden

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

.changeset/calm-mentors-welcome.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"hephaestus": patch
3+
---
4+
5+
Makes the public landing page show what Hephaestus actually does: real pull requests, review threads and issues with the feedback attached to them, Heph introducing himself, and a clearer account of who develops the project.

.github/actions/setup-caches/action.yml

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: "Setup CI caches"
2-
description: "Caches Maven repo + generated sources, Playwright browsers, and Storybook builds. Node/pnpm setup happens in the calling workflow via pnpm/action-setup + actions/setup-node (cache: pnpm)."
2+
description: "Caches Maven dependencies and Playwright browsers. Node/pnpm setup happens in the calling workflow."
33
inputs:
44
cache-type:
55
description: "Type of cache to setup"
@@ -43,14 +43,3 @@ runs:
4343
key: ${{ inputs.os }}-playwright-${{ hashFiles('pnpm-lock.yaml') }}
4444
restore-keys: |
4545
${{ inputs.os }}-playwright-
46-
47-
- name: Cache Storybook build
48-
if: contains(fromJSON('["webapp-visual", "webapp-storybook"]'), inputs.cache-type)
49-
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
50-
with:
51-
path: |
52-
webapp/storybook-static
53-
webapp/.storybook/.cache
54-
key: ${{ inputs.os }}-storybook-${{ hashFiles('webapp/**/*.stories.tsx', 'webapp/.storybook/**', 'pnpm-lock.yaml') }}
55-
restore-keys: |
56-
${{ inputs.os }}-storybook-

.github/workflows/ci-tests.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@ jobs:
174174
if-no-files-found: ignore
175175
retention-days: 14
176176

177-
# Chromatic visual testing
178177
- name: "Chromatic Visual Testing"
179178
if: >-
180179
steps.should_run.outputs.run == 'true' && matrix.test-type == 'webapp-storybook' && always() &&

README.md

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</picture>
77

88
<h1>Hephaestus</h1>
9-
<p><strong>Feedback on how you work</strong></p>
9+
<p><strong>Learn from the work you're already doing</strong></p>
1010

1111
<p>
1212
<a href="https://hephaestus.aet.cit.tum.de"><img alt="Open the TUM-operated Hephaestus web app" src="https://img.shields.io/badge/web_app-open-493C83"></a>
@@ -21,20 +21,20 @@
2121
</p>
2222
</div>
2323

24-
Hephaestus gives developers feedback on the engineering practices they use in software projects. It draws on evidence from tools the team already uses — including GitHub or GitLab activity, selected Slack channels, and Outline documents — to explain what worked, what could improve, and what to try next.
24+
Hephaestus connects feedback to software project work. When it finds evidence worth surfacing, feedback can explain what worked, what could improve, and a practical next step. Developers can ask Heph questions, add context, and compare options.
2525

2626
<div align="center">
2727
<picture>
28-
<source media="(max-width: 520px) and (prefers-color-scheme: dark)" srcset="./docs/images/readme/landing-feedback-preview-mobile-dark.png">
29-
<source media="(max-width: 520px) and (prefers-color-scheme: light)" srcset="./docs/images/readme/landing-feedback-preview-mobile-light.png">
30-
<source media="(prefers-color-scheme: dark)" srcset="./docs/images/readme/landing-feedback-preview-dark.png">
31-
<source media="(prefers-color-scheme: light)" srcset="./docs/images/readme/landing-feedback-preview-light.png">
32-
<img alt="Example practice feedback on a focused change: Hephaestus notes that the change is easy to review and suggests explaining why it matters; the developer asks what to write, and Heph suggests a concise sentence." src="./docs/images/readme/landing-feedback-preview-light.png" width="744">
28+
<source media="(max-width: 520px) and (prefers-color-scheme: dark)" srcset="./docs/images/readme/landing-hero-mobile-dark.png">
29+
<source media="(max-width: 520px) and (prefers-color-scheme: light)" srcset="./docs/images/readme/landing-hero-mobile-light.png">
30+
<source media="(prefers-color-scheme: dark)" srcset="./docs/images/readme/landing-hero-dark.png">
31+
<source media="(prefers-color-scheme: light)" srcset="./docs/images/readme/landing-hero-light.png">
32+
<img alt="Example showing a focused pull request, feedback about what worked and a possible next step, and a follow-up with Heph." src="./docs/images/readme/landing-hero-light.png" width="1224">
3333
</picture>
34-
<p><sub>One example of practice feedback and a follow-up with Heph.</sub></p>
34+
<p><sub>An example of feedback connected to project work and explored with Heph.</sub></p>
3535
</div>
3636

37-
Hephaestus is built for software engineering courses, open-source projects, and teams where mentors and maintainers cannot review every contribution themselves.
37+
Hephaestus is built for software engineering courses, open-source projects, and engineering teams with shared working practices.
3838

3939
## What Hephaestus does
4040

@@ -46,7 +46,7 @@ Hephaestus is built for software engineering courses, open-source projects, and
4646

4747
## How feedback works
4848

49-
The loop starts with a developer's project work and the context around it. Hephaestus reviews the work against the engineering practices configured for the workspace, turns what it finds into feedback, and delivers that feedback where it can help.
49+
Hephaestus reviews project work against the engineering practices chosen for a workspace. Feedback points back to the work, and developers can ask Heph about the reasoning.
5050

5151
<picture>
5252
<source media="(max-width: 640px) and (prefers-color-scheme: dark)" srcset="./docs/images/readme/feedback-loop-mobile-dark.png">
@@ -55,24 +55,19 @@ The loop starts with a developer's project work and the context around it. Hepha
5555
<source media="(max-width: 1024px) and (prefers-color-scheme: light)" srcset="./docs/images/readme/feedback-loop-tablet-light.png">
5656
<source media="(prefers-color-scheme: dark)" srcset="./docs/images/readme/feedback-loop-dark.png">
5757
<source media="(prefers-color-scheme: light)" srcset="./docs/images/readme/feedback-loop-light.png">
58-
<img alt="Hephaestus feedback loop: project work and context are reviewed against workspace practices; practice feedback explains what worked, what could improve, and what to try next; it can appear alongside the work or in conversation with Heph; the developer decides whether to use, question, or skip it before their next piece of project work." src="./docs/images/readme/feedback-loop-light.png" width="1224">
58+
<img alt="Three steps in Hephaestus: open a contribution, review feedback connected to the work, and ask Heph a follow-up." src="./docs/images/readme/feedback-loop-light.png" width="1224">
5959
</picture>
6060

61-
Developers decide what helps: use the feedback, question it, or skip it. The cycle continues with their next piece of project work. Hephaestus supports mentors, teachers, and maintainers by covering routine feedback. It does not replace their judgement or the relationships they build with developers.
61+
Developers decide how to use the feedback and what to carry into their next contribution.
6262

63-
## Project status
63+
## Project origins
64+
65+
Hephaestus is an [MIT-licensed](./LICENSE) open-source project developed by [Applied Education Technologies](https://aet.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/en/).
66+
67+
## Before upgrading
6468

6569
> [!IMPORTANT]
66-
> **Hephaestus is still pre-1.0.** Until 1.0, a minor release can change configuration or APIs in ways that require action. If you self-host it, use the [latest release](https://github.com/ls1intum/Hephaestus/releases/latest), read its release notes and the [migration guide](./MIGRATION.md), and test upgrades in staging.
67-
>
68-
> We are aiming for a stable **v1.0.0 in mid-September 2026**. Here, stable means [predictable rules](./docs/admin/compatibility-policy.mdx) for upgrades, configuration, Docker Compose, and the REST API — not that development stops.
69-
>
70-
> Parts of this model already ship. For v1.0, the goal is to support them together as a stable product:
71-
>
72-
> - **Project context:** work in GitHub and GitLab, selected Slack channels, and selected Outline documents.
73-
> - **Feedback delivery:** alongside work in GitHub or GitLab, in a personal view across projects, and in conversation with Heph in the web app or Slack.
74-
>
75-
> Release gates take priority over the date. Follow the [v1.0 milestone](https://github.com/ls1intum/Hephaestus/milestone/5) and [release plan](https://github.com/ls1intum/Hephaestus/issues/1377) for current scope and progress.
70+
> Self-hosted upgrades can require configuration or API changes. Use the [latest release](https://github.com/ls1intum/Hephaestus/releases/latest), review the [compatibility policy](./docs/admin/compatibility-policy.mdx) and [migration guide](./MIGRATION.md), and test upgrades in staging.
7671
7772
## Get started
7873

docs/docusaurus.config.ts

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,15 @@ import {themes as prismThemes} from 'prism-react-renderer';
22
import type {Config} from '@docusaurus/types';
33
import type * as Preset from '@docusaurus/preset-classic';
44

5-
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
6-
75
const envBaseUrl = process.env.DOCUSAURUS_BASE_URL;
86

97
const config: Config = {
108
title: 'Hephaestus Documentation',
11-
tagline: 'Feedback on how you work',
9+
tagline: "Learn from the work you're already doing",
1210
favicon: 'img/favicon.ico',
1311

14-
// Future flags and performance optimizations
15-
// See https://docusaurus.io/docs/api/docusaurus-config#future
1612
future: {
1713
v4: true,
18-
// Docusaurus Faster: Uses Rspack, SWC, and LightningCSS for 2-4x faster builds
19-
// https://docusaurus.io/blog/releases/3.6#docusaurus-faster
2014
faster: {
2115
swcJsLoader: true,
2216
swcJsMinimizer: true,
@@ -39,9 +33,6 @@ const config: Config = {
3933
onDuplicateRoutes: 'throw',
4034
trailingSlash: false,
4135

42-
// Even if you don't use internationalization, you can use this field to set
43-
// useful metadata like html lang. For example, if your site is Chinese, you
44-
// may want to replace "en" with "zh-Hans".
4536
i18n: {
4637
defaultLocale: 'en',
4738
locales: ['en'],
@@ -71,15 +62,12 @@ const config: Config = {
7162
theme: {
7263
customCss: './src/css/custom.css',
7364
},
74-
// Sitemap generation with lastmod for SEO
7565
sitemap: {
7666
lastmod: 'datetime',
7767
changefreq: 'weekly',
7868
priority: 0.5,
7969
filename: 'sitemap.xml',
8070
},
81-
// Google Tag Manager can be configured here if needed
82-
// gtag: { trackingID: 'G-XXXXXXXXXX' },
8371
} satisfies Preset.Options,
8472
],
8573
],
@@ -152,7 +140,7 @@ const config: Config = {
152140
{
153141
name: 'description',
154142
content:
155-
'Hephaestus gives developers practice feedback on software project work, plus an AI mentor for talking through feedback and next steps.',
143+
'Hephaestus gives developers practice feedback on software project work and lets them discuss it with Heph, its conversational AI mentor.',
156144
},
157145
{name: 'keywords', content: 'Hephaestus, AI mentor, code review feedback, software engineering practices, TUM'},
158146
{name: 'twitter:card', content: 'summary_large_image'},
@@ -161,7 +149,7 @@ const config: Config = {
161149
{
162150
name: 'twitter:description',
163151
content:
164-
'Hephaestus gives developers practice feedback on software project work, plus an AI mentor for talking through feedback and next steps.',
152+
'Hephaestus gives developers practice feedback on software project work and lets them discuss it with Heph, its conversational AI mentor.',
165153
},
166154
],
167155
navbar: {
@@ -252,7 +240,7 @@ const config: Config = {
252240
],
253241
},
254242
{
255-
title: 'Community',
243+
title: 'Project',
256244
items: [
257245
{
258246
label: 'Applied Education Technologies',
@@ -265,15 +253,14 @@ const config: Config = {
265253
],
266254
},
267255
],
268-
copyright: `© ${new Date().getFullYear()} Technical University of Munich · Built with ❤️ by the Hephaestus Team at Applied Education Technologies (AET)`,
256+
copyright: `Hephaestus is an MIT-licensed open-source project developed by Applied Education Technologies at the Technical University of Munich.`,
269257
},
270258
docs: {
271259
sidebar: {
272260
hideable: true,
273261
autoCollapseCategories: true,
274262
},
275263
},
276-
// Table of contents configuration
277264
tableOfContents: {
278265
minHeadingLevel: 2,
279266
maxHeadingLevel: 4,
-188 KB
Loading
-194 KB
Loading
-132 KB
Loading
-123 KB
Loading
-137 KB
Loading

0 commit comments

Comments
 (0)