Skip to content

fbeawels/docmost

Repository files navigation

Awels DocMost

Awels version of the open-source collaborative wiki and documentation software.

About

This is the Awels version of DocMost, an open-source collaborative wiki and documentation software. This fork is maintained by Awels and may contain customizations specific to Awels requirements.

Original DocMost Features

  • Real-time collaboration
  • Diagrams (Draw.io, Excalidraw and Mermaid)
  • Spaces
  • Permissions management
  • Groups
  • Comments
  • Page history
  • Search
  • File attachments
  • Embeds (Airtable, Loom, Miro and more)
  • Translations (10+ languages)

License

Docmost core is licensed under the open-source AGPL 3.0 license.
Enterprise features are available under an enterprise license (Enterprise Edition).

All files in the following directories are licensed under the Docmost Enterprise license defined in packages/ee/License.

  • apps/server/src/ee
  • apps/client/src/ee
  • packages/ee

Original Project

For the original DocMost project, please visit:

Awels Changes in this Branch

This branch introduces Space-level settings for the Awels Assistant and aligns the Chat Preferences UI with those settings.

  • Space Settings persistence

    • A new JSONB column settings was added to the spaces table to persist per-space preferences.
    • DTOs accept settings and the service persists it:
      • apps/server/src/core/space/dto/create-space.dto.ts
      • apps/server/src/core/space/dto/update-space.dto.ts
      • apps/server/src/core/space/services/space.service.ts
    • Validation is provided by:
      • apps/server/src/core/space/dto/space-settings.dto.ts
  • Database migration

    • Added migration: apps/server/src/database/migrations/20250925T174300-add-settings-to-spaces.ts
    • Adds settings jsonb and backfills to {}.
  • Client typing and UI

    • ISpace now includes optional settings with a typed SpaceSettingsAwelsChatSettings.
      • apps/client/src/features/space/types/space.types.ts
    • Space Settings component saves/edits Awels config under space.settings.awelsChat.
      • apps/client/src/features/space/components/awels-space-settings.tsx
    • Chat Preferences modal uses the same fields and persists to Space settings (when a space is available). sessionId remains local-only.
      • apps/client/src/awels/components/chat-preferences-modal.tsx

Upgrade Steps

Run these from the repository root unless noted otherwise:

  1. Apply database migrations

    • pnpm --filter ./apps/server run migration:latest
  2. Regenerate Kysely types (so Spaces.settings appears in typings)

    • pnpm --filter ./apps/server run migration:codegen
  3. Restart the server to pick up the changes

    • Development: pnpm run server:dev
    • Production: pnpm run server:start
  4. Verify

    • Open a Space → Settings → Awels Assistant tab. Save values and refresh to confirm persistence.
    • Open the Chat Preferences modal; fields should mirror Space Settings and persist accordingly.

Sanity Checklist

  • Install: ensure dependencies are installed at the workspace root.

    • pnpm i
  • Build:

    • All: pnpm build
    • Server only: pnpm run server:build
    • Client only: pnpm run client:build
  • Dev:

    • Run both: pnpm run dev
    • Client only: pnpm run client:dev
    • Server only: pnpm run server:dev
  • Lint:

    • Server: pnpm --filter ./apps/server run lint
  • Tests (server):

    • pnpm --filter ./apps/server run test

Note on Placeholder Migration

If your database had recorded a migration that is not present in this branch, a placeholder no-op migration may have been added to satisfy history (e.g., apps/server/src/database/migrations/20250924T183000-chat-tables.ts). Replace it later with the real migration if/when it becomes available.

About

Updated version of DocMost for Awels needs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages