# cristal **Repository Path**: ace8/cristal ## Basic Information - **Project Name**: cristal - **Description**: No description available - **Primary Language**: JavaScript - **License**: LGPL-2.1 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-22 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cristal Wireframe of a Cristal 
Page ## What's Cristal * A new [xwiki.org](xwiki.org) project to provide a modern knowledge base front-end * A wiki UI to rule them all: Provide a UI that can be plugged onto various content backends (XWiki, local file system, GitHub, etc.) * Usable in various forms: * From a URL in your browser * Executable locally on your computer (Electron application). * Embeddable in backends. For example, the intent on the long run is to have Cristal be used by [XWiki](xwiki.org) as its native UI * Ability to work offline, reconnect, and sync content.
Build Status TypeScript Prettier
## Useful links * [Roadmap](https://cristal.xwiki.org/xwiki/bin/view/Roadmaps/) * [Architecture](https://cristal.xwiki.org/xwiki/bin/view/Architecture/) * [Technological Choices](https://cristal.xwiki.org/xwiki/bin/view/TechnologicalChoices/) * [Wireframes](https://cristal.xwiki.org/xwiki/bin/view/Wireframes/) * [UI Components](https://cristal.xwiki.org/xwiki/bin/view/UIComponents/) * [Backends](https://cristal.xwiki.org/xwiki/bin/view/Backends/) * [GitHub repository](https://github.com/xwiki-contrib/cristal/) * [Forum](https://forum.xwiki.org/c/cristal/) ## Project details * Project Lead: [Manuel Leduc](https://www.xwiki.org/xwiki/bin/view/XWiki/mleduc) * Documentation: [Documentation](https://cristal.xwiki.org/) * Downloads: * `@xwiki/cristal-*` on https://www.npmjs.com/org/xwiki * binary artifacts on https://github.com/xwiki-contrib/cristal/releases * [Issue Tracker](https://jira.xwiki.org/projects/CRISTAL/summary) * Communication: [Forum](https://forum.xwiki.org/c/cristal/18) * [Development Practices](https://dev.xwiki.org) * [Supported backends](https://cristal.xwiki.org/xwiki/bin/view/Backends/) * License: LGPL 2.1 * Translations: all components of https://l10n.xwiki.org/projects/xwiki-contrib/cristal/ * Sonar Dashboard: N/A ## Project Setup ```sh pnpm install ``` ### Starting the project Starting on default port 9000. ```sh pnpm run start ``` Starting on an arbitrary port (e.g., 9001) ```shell HTTP_PORT=9001 pnpm run start ``` ### Starting an electron instance ```shell pnpm run start:electron ``` ### Compile and Minify for Production ```sh pnpm run build ``` ### Run Unit Tests with [Vitest](https://vitest.dev/) ```sh pnpm run test ``` ## Run Functional Tests with [Playwright](https://playwright.dev/) ```sh ## Make sure to have the system dependencies and browsers up to date. By filtering ## on the web module we make sure the version of playwright that gets installed is ## the one specified in package.json pnpm --filter ./web exec playwright install --with-deps ## Run the tests from the web module. pnpm run --filter ./web test:e2e ## Or, if port 9000 is already used HTTP_PORT=9001 pnpm run --filter ./web test:e2e ``` ### Lint ```sh pnpm lint ``` ### Check for API changes ```sh pnpm run api-extractor:local # Produces reports in the `etc/` folder of each package. # The changes in the Markdown files reflects changes in the public APIs of the packages and must be discussed # collectively. # The CI is configured to fail if the command produces unversioned changes. ```