Skip to content

hycomsa/osnova

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Osnova β€” git-native documentation collaboration

Osnova

Your documentation lives in Git. Your clients never have to know.

Git-native documentation collaboration between clients and suppliers.

Markdown and assets stay in your Git repository β€” the single source of truth. Osnova wraps that repo in a friendly, permission-aware web layer so clients can read, comment on, and (where allowed) edit the documentation, while every change lands as a real Git commit. No copy-paste into a second tool that drifts out of date by Friday.

License: MIT Next.js 15 React 19 Payload 3 PostgreSQL Keycloak Claude

Features Β· Showcase Β· Quick start Β· Docs


Why Osnova

Software teams already keep their backlog, specifications, and documentation as Markdown in Git. What's missing is a layer that exposes that same git-native material to the client β€” in a controlled, readable form for review, commenting, and scoped editing β€” without forking it into a separate tool that immediately drifts out of sync.

Osnova closes that gap:

  • πŸ—‚οΈ One source of truth. Documents are files in a Git repository. Osnova never forks content into a parallel database β€” edits are commits, history is git log.
  • πŸ”’ Controlled client access. Role-based views present a simplified, filtered slice of the repo to clients while suppliers keep the full picture. Fail-closed.
  • πŸ’¬ Collaboration in context. Inline and document-level comments, @mentions, reactions, approvals, live presence, and notifications β€” anchored to the living document.
  • ✨ AI that respects your process. Fold accepted review comments into the prose with Claude, using curated, workspace-managed skills β€” never an unsupervised rewrite.
  • πŸ§‘β€πŸ’» No Git knowledge required. A clean reading experience, a WYSIWYG editor, deep links to any paragraph, and history/diff/blame viewers β€” usable by non-developers.
Document viewer

Who it's for

Role What they do
System Admin Creates workspaces, binds Git repositories, manages global access.
Workspace Maintainer Supplier lead β€” manages members, roles, view configuration, AI skills.
Editor Supplier analyst / PM / UX β€” authors and edits content (WYSIWYG or raw Markdown).
Client β€” Technical Architect β€” reads and comments on specs, ADRs, and infrastructure docs; can approve.
Client β€” Business Product owner β€” reads a simplified business view, comments, and approves.
Viewer Read-only access within the permitted view.

Osnova

Everything below ships today β€” see the full, illustrated tour in docs/features.md.

Feature highlights

πŸ”’ Three configurable views with fail-closed RBAC

Each workspace exposes up to three views β€” Direct (1:1), Client β€” Business, and Client β€” Technical β€” with per-view, glob-based include/exclude rules. Client views are fail-closed (nothing is visible unless explicitly allowed), .gitignore/.gitkeep are respected, and document metadata/frontmatter is hidden by default.

Workspace switcher Access control

πŸ—‚οΈ First-class page tree

A real navigation tree with favorites (starred, per user), recently opened, expand/collapse-all, live filtering, and lucide iconography β€” plus deep-linkable URLs and a ⌘K command palette.

Page tree Command palette

✍️ WYSIWYG + raw Markdown editor

A TipTap-based editor with a formatting toolbar, bubble menu, task lists, and inline image/attachment upload (drag, paste, or pick β€” stored alongside the document and committed to Git). Toggle to raw Markdown anytime. Every save is a commit and push.

WYSIWYG editor

πŸŽ€ Office-style ribbon toolbar

Document actions are grouped into a clean ribbon β€” Document / Collaboration / Knowledge / File β€” and collapse to a compact icon strip with one click. The preference persists per user.

Ribbon toolbar

πŸ’¬ Comments, mentions, reactions, approvals β€” and live presence

Inline comments anchored to selected text, document-level threads, @mentions, emoji reactions, resolve/reopen, and a document review workflow (approve / reject β€” with an optional comment posted to the thread β€” / optional in-review) with stale-revision detection. Live presence shows who else is viewing or editing the same document right now.

Comments Approval

✨ AI-assisted comment incorporation

Turn a thread of accepted review comments into clean prose β€” Claude folds them into the document while you review the diff before anything is committed. Workspace admins curate a set of reusable skills (apply verbatim, unify tone, condense, refine language, restructure) so reviewers pick an intent instead of writing prompts. Gated by edit + ai-use permission.

AI skills

πŸ•ΈοΈ Document dependency graph

See how a document relates to the rest of the repository β€” a directed graph of cross-references, laid out by depth, colour-coded by folder/area and shaped by doc-type, with 1–3 degrees of links, pan/zoom, and click-to-open.

Dependency graph

πŸ”€ Guided conflict resolution

When two people edit the same document, Osnova auto-rebases where it can β€” and when there's a true conflict, a guided wizard walks you through a side-by-side, hunk-by-hunk resolution instead of a cryptic Git error.

πŸ•°οΈ History, diff, blame & one-click restore β€” straight from Git

Browse every revision of a file, view a rendered preview at any commit, see a unified diff with line numbers, open per-line blame, and restore any past version (even a deleted file) as a new commit.

Diff view

πŸ“ Rich Markdown rendering

GitHub-Flavored Markdown, callouts ([!NOTE], [!WARNING], …), Mermaid diagrams, collapsible blocks, inline images, downloadable attachments, copyable heading anchors, and inline PDF embeds (![](file.pdf)).

PDF embed

🎨 Seven content preview styles

Reading themes independent of the app's light/dark mode β€” Standard, Reading, Editorial, Technical, Terminal, Neon, and Pastel β€” each with its own fonts, colours, spacing, and column width.

🌍 Multi-language (PL / EN / DE)

The whole UI is translated and remembered per user; the Keycloak login screen follows the chosen language via ui_locales; dates are locale-aware.

πŸ”” Notifications inbox + email digest

A notification bell with unread badge, a full inbox with filters and pagination, and an opt-in daily/weekly email digest of unread activity β€” plus an audit log of who did what.

Notifications inbox

πŸ“Έ See it all in one place: the Showcase Β» gallery and the screenshot-by-screenshot Feature guide Β».

πŸš€ Quick start

Full instructions: docs/getting-started.md.

# 1. Clone the repository
git clone git@github.com:hycomsa/osnova.git && cd osnova

# 2. Start PostgreSQL (Docker)
docker compose up -d            # postgres:16 on localhost:5433

# 3. Configure environment
cp .env.example .env            # set secrets; for local dev set PROXY_AUTH_DEV_USER (+ ANTHROPIC_API_KEY for AI)

# 4. Install, seed, run
npm install
npm run seed                    # creates a demo workspace + users
npm run dev                     # http://localhost:3000

Authentication is pluggable (AUTH_MODE): the default proxy mode trusts a reverse-proxy SSO header (no IdP needed by the app) β€” see docs/proxy-auth.md; the optional oidc mode logs in via OpenID Connect β€” see docs/keycloak.md. For local dev in proxy mode, set PROXY_AUTH_DEV_USER=you@example.com.

πŸ“š Documentation

Guide What's inside
Getting started Prerequisites, install, database, seed, first run.
Configuration Every environment variable, view configs, repo bindings, mail, AI.
Authentication Pluggable auth: reverse-proxy header SSO (default) + Apache example.
Keycloak setup Optional OIDC mode: realm, client, redirect URIs, login i18n.
Features Full, illustrated feature catalogue.
Showcase A visual product tour and marketing gallery.
Architecture How the pieces fit; data model; access-control model.
Administration Workspaces, views, roles, repos, AI skills, digests, backups.
Development Project layout, scripts, tests, conventions.
Deployment Production build, hardening, scheduling, secrets.

🧱 Tech stack

Next.js 16 (App Router, React 19) Β· PayloadCMS 3 Β· PostgreSQL 16 Β· SSO (proxy header / OIDC) Β· TipTap Β· remark/rehype Β· Mermaid Β· simple-git (git-native worktrees) Β· Anthropic Claude Β· react-i18next Β· Tailwind Β· Vitest Β· Playwright.

🀝 Contributing

Contributions are welcome! Start with CONTRIBUTING.md, and please follow our Code of Conduct. Changes are tracked in CHANGELOG.md, and CI (typecheck + tests) runs on every pull request.

Found a security issue? Please report it privately β€” see SECURITY.md.

πŸ“„ License

Released under the MIT License. Copyright Β© 2026 Hycom.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages