Repository navigation
Root Contributing
Navigation: Home > Contributing
Thank you for your interest in contributing to ThemisDB! This document provides guidelines and instructions for contributing.
| Section | Description |
|---|---|
| π€ Code of Conduct | Community guidelines |
| π§ Governance Roles & Escalation | Role model, contribution path, and escalation channels |
| π Getting Started | Set up development environment |
| π» Development Workflow | Branching and committing |
| β Code Quality Standards | Enforced quality checks |
| π License Compliance | License policy and compliance |
| π Pull Request Process | Submitting changes |
| π·οΈ Issue Labels | GitHub label system |
| π Reporting Bugs | Bug report guidelines |
| π‘ Feature Requests | Suggesting enhancements |
| π Documentation | Living documentation and continuous review process |
| π¦ Package Maintenance | Platform packaging |
Important
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to:
- Be respectful and constructive in all interactions
- Welcome newcomers and help them get started
- Assume good intentions in discussions
- Focus on what is best for the community and project
Please read the full Code of Conduct for details.
Use this unified path for both external and internal contributors:
- Follow this document for setup, workflow, quality checks, and PR process.
- Use GOVERNANCE.md for role boundaries and final decision authority.
- Use MAINTAINERS.md to identify module ownership and review routing.
- Use CODE_OF_CONDUCT.md for behavior and moderation rules.
- Use SECURITY.md and SOP.md for private vulnerability and incident response processes.
Canonical channels:
- General questions / governance discussion: GitHub Discussions
- Bug reports / feature requests / contributor blockers: GitHub Issues
- Security vulnerabilities (private): GitHub Security Advisories
1. Clone the repository:
git clone https://github.com/makr-code/ThemisDB.git
cd ThemisDB2. Install dependencies:
Linux/macOS:
./setup.shWindows:
.\setup.ps13. Build the project:
Linux/macOS:
./build.shWindows:
.\build.ps14. Run tests:
cd build
ctest --output-on-failure5. Optional Features (v1.3.0+):
ThemisDB has optional features that require specific build flags:
# Build with LLM support (requires llama.cpp)
cmake -B build -DTHEMIS_ENABLE_LLM=ON
git clone https://github.com/ggerganov/llama.cpp.git
# Build with HTTP/2 support
cmake -B build -DTHEMIS_ENABLE_HTTP2=ON
# Build with WebSocket support
cmake -B build -DTHEMIS_ENABLE_WEBSOCKET=ON
# Build with MQTT support
cmake -B build -DTHEMIS_ENABLE_MQTT=ON
# Build with PostgreSQL Wire Protocol
cmake -B build -DTHEMIS_ENABLE_POSTGRES_WIRE=ON
# Build with MCP Server support
cmake -B build -DTHEMIS_ENABLE_MCP=ON
# Build with Image Analysis plugins
cmake -B build -DTHEMIS_ENABLE_IMAGE_ANALYSIS=ON
# Build with all optional features
cmake -B build -DTHEMIS_ENABLE_ALL_PROTOCOLS=ON| Tool | Minimum Version | Purpose |
|---|---|---|
| C++ Compiler | GCC 10+ / Clang 12+ / MSVC 2019+ | Core compilation |
| CMake | 3.20+ | Build system |
| vcpkg | Latest | Dependency management |
| Git | 2.x | Version control |
1οΈβ£ Clone the Repository
git clone https://github.com/makr-code/ThemisDB.git
cd ThemisDB2οΈβ£ Install Dependencies
Linux/macOS:
./setup.shWindows:
.\setup.ps1[!TIP] The setup script automatically installs vcpkg and all required dependencies.
3οΈβ£ Build the Project
Linux/macOS:
./build.shWindows:
.\build.ps1[!NOTE] First build may take 10-15 minutes as vcpkg compiles dependencies from source.
4οΈβ£ Run Tests
cd build
ctest --output-on-failureExpected result: All tests should pass β
5οΈβ£ Optional Features (v1.3.0+)
ThemisDB supports optional protocol and AI integrations:
| Feature | CMake Flag | Dependencies |
|---|---|---|
| π€ LLM Support | -DTHEMIS_ENABLE_LLM=ON |
llama.cpp |
| π HTTP/2 | -DTHEMIS_ENABLE_HTTP2=ON |
nghttp2 |
| π‘ WebSocket | -DTHEMIS_ENABLE_WEBSOCKET=ON |
uWebSockets |
| π¬ MQTT | -DTHEMIS_ENABLE_MQTT=ON |
mosquitto |
| π PostgreSQL Wire | -DTHEMIS_ENABLE_POSTGRES_WIRE=ON |
libpq |
| π MCP Server | -DTHEMIS_ENABLE_MCP=ON |
- |
| πΌοΈ Image Analysis | -DTHEMIS_ENABLE_IMAGE_ANALYSIS=ON |
OpenCV |
Build with LLM support:
cmake -B build -DTHEMIS_ENABLE_LLM=ON
git clone https://github.com/ggerganov/llama.cpp.git
cmake --build buildBuild with all protocols:
cmake -B build -DTHEMIS_ENABLE_ALL_PROTOCOLS=ON
cmake --build buildSee docs/de/legal/ATTRIBUTIONS.md for third-party dependency information.
When configuring cross builds, ThemisDB now validates the full tuple at CMake configure time:
-
CMAKE_CROSSCOMPILING=TRUErequiresCMAKE_TOOLCHAIN_FILE. -
VCPKG_TARGET_TRIPLETmust be consistent with the targetCMAKE_SYSTEM_PROCESSORandCMAKE_SYSTEM_NAME. - For Linux ARM cross targets (
arm64,armv7),CMAKE_SYSROOTis required and must point to an existing path.
Supported toolchain examples:
-
cmake/platforms/Toolchains/amd64-linux-gnu.cmakeβx64-linux -
cmake/platforms/Toolchains/arm64-linux-gnu.cmakeβarm64-linux -
cmake/platforms/Toolchains/armv7-linux-gnueabihf.cmakeβarm-linux -
cmake/platforms/Toolchains/windows-msvc.cmakeβx64-windows -
cmake/platforms/Toolchains/x86_64-w64-mingw32.cmakeβx64-mingw-static
Example (ARM64 Linux cross compile):
cmake -S . -B build-arm64 \
-DCMAKE_CROSSCOMPILING=TRUE \
-DCMAKE_TOOLCHAIN_FILE=cmake/platforms/Toolchains/arm64-linux-gnu.cmake \
-DVCPKG_TARGET_TRIPLET=arm64-linux \
-DCMAKE_SYSROOT=/usr/aarch64-linux-gnuRunning tests under Windows / WSL (developer tips)
- If you build under WSL the default build output used by repository helper scripts is
build-wsl/(e.g.build-wsl/themis_testsandbuild-wsl/themis_server). Helper scripts (such as.tools/vault_dev_run.ps1) rely on this layout. - To run the GoogleTest binary directly in WSL and export JUnit XML to the Windows host:
# from PowerShell (host):
wsl bash -lc "cd /mnt/c/VCC/themis; ./build-wsl/themis_tests --gtest_output=xml:/mnt/c/Temp/themis_tests.xml"- Vault integration tests expect a reachable Vault at
VAULT_ADDRand a valid token inVAULT_TOKEN. The repository includes a small helper.tools/vault_dev_run.ps1which:- starts a local Vault dev container, enables KV v2 at mount
themis/, writes a 32βbyte base64 key tothemis/keys/test_key, and runs the Vault tests from WSL (writing XML output toC:\Temp). - Preconditions: Docker available locally and a WSL installation with repo mounted under
/mnt/c/VCC/themis.
- starts a local Vault dev container, enables KV v2 at mount
Linux (Ubuntu/Debian):
sudo apt-get install -y clang-tidy cppcheck lcov gcovr
# Install gitleaks
wget https://github.com/gitleaks/gitleaks/releases/download/v8.18.4/gitleaks_8.18.4_linux_x64.tar.gz
tar -xzf gitleaks_8.18.4_linux_x64.tar.gz
sudo mv gitleaks /usr/local/bin/macOS:
brew install llvm cppcheck lcov gitleaksWindows:
choco install llvm cppcheck gitleaksImportant
ThemisDB uses a Git Flow branching strategy:
-
develop= Active development branch (integration) - All features branch from
developand merge back todevelop - Release lanes are edition-specific:
minimal,community,enterprise,hyperscaler,military - See docs/ci-cd/branching-release-history/BRANCHING_STRATEGY.md for complete details
# IMPORTANT: Always branch from develop
git checkout develop
git pull origin develop
git checkout -b feature/your-feature-name
# OR for bug fixes
git checkout -b bugfix/bug-descriptionBranch naming conventions:
Before committing, run local quality checks:
# Linux/macOS
./scripts/check-quality.sh
# Windows
.\scripts\check-quality.ps1Auto-fix issues where possible:
# Linux/macOS
./scripts/check-quality.sh --fix
# Windows
.\scripts\check-quality.ps1 -FixWrite clear, descriptive commit messages:
<type>(<scope>): <subject>
<body>
<footer>
Examples:
feat(storage): Add checkpoint-based incremental backups
Closes #123
fix(query): Correct off-by-one error in pagination
The cursor offset calculation was incorrect for empty result sets,
causing the next page to skip the first result.
Fixes #456
Commit types:
git push origin feature/your-feature-nameCreate Pull Request:
-
Base Branch:
develop -
Compare Branch:
feature/your-feature-name - Add clear description of changes
- Link related issues
Note
Pull requests should target the develop branch unless you are working on a hotfix for production.
Important
ThemisDB uses a Git Flow branching strategy:
- π§
develop= Active development branch (integration) - πΏ All features branch from
developand merge back todevelop - π’ Edition release lanes:
minimal,community,enterprise,hyperscaler,military - π See docs/ci-cd/branching-release-history/BRANCHING_STRATEGY.md for complete details
# IMPORTANT: Always branch from develop
git checkout develop
git pull origin develop
git checkout -b feature/your-feature-name
# OR for bug fixes
git checkout -b bugfix/bug-descriptionBranch Naming Conventions:
| Prefix | Purpose | Example |
|---|---|---|
feature/ |
π New features | feature/vector-search-optimization |
fix/ |
π Bug fixes | fix/connection-leak-in-pool |
docs/ |
π Documentation | docs/improve-api-examples |
refactor/ |
β»οΈ Code refactoring | refactor/extract-storage-interface |
test/ |
π§ͺ Test improvements | test/add-transaction-edge-cases |
perf/ |
β‘ Performance | perf/optimize-index-lookup |
Important
Best Practices:
- β Write clean, maintainable code following C++17 standards
- β Add unit tests for new functionality
- β Update documentation as needed
- β Keep commits focused and atomic
Before committing, run local quality checks:
Linux/macOS
# Run all checks
./scripts/check-quality.sh
# Auto-fix issues
./scripts/check-quality.sh --fixWindows
# Run all checks
.\scripts\check-quality.ps1
# Auto-fix issues
.\scripts\check-quality.ps1 -FixTip
Use --fix to automatically resolve formatting and minor issues.
Commit Message Format:
<type>(<scope>): <subject>
<body>
<footer>
Example Commits:
Feature Commit
feat(storage): Add checkpoint-based incremental backups
- Implement RocksDB checkpoint API integration
- Add WAL archiving with retention policies
- Create cross-platform backup scripts (PowerShell + Bash)
- Add systemd and Kubernetes automation examples
Closes #123
Bug Fix Commit
fix(query): Correct off-by-one error in pagination
The cursor offset calculation was incorrect for empty result sets,
causing the next page to skip the first result.
Fixes #456
Commit Types:
| Type | Emoji | Description |
|---|---|---|
feat |
β¨ | New feature |
fix |
π | Bug fix |
docs |
π | Documentation changes |
style |
π | Code style (no logic change) |
refactor |
β»οΈ | Code refactoring |
perf |
β‘ | Performance improvements |
test |
β | Test additions/improvements |
chore |
π§ | Build/tooling changes |
git push origin feature/your-feature-nameNote
Target Branch: Pull requests should target develop unless you are working on an edition-specific release/hotfix.
When creating your PR:
- Set Base to
develop - Set Compare to your feature branch
- Add clear description of changes
- Link related issues with
Closes #123 - Add appropriate labels
ThemisDB enforces strict code quality standards through automated CI checks:
Common issues to avoid:
Generate local coverage report:
# After running tests with coverage
mkdir -p coverage
lcov --capture --directory build --output-file coverage/coverage.info
lcov --remove coverage/coverage.info '/usr/*' '*/vcpkg_installed/*' '*/tests/*' \
--output-file coverage/coverage-filtered.info
genhtml coverage/coverage-filtered.info --output-directory coverage/html
# Open report
xdg-open coverage/html/index.html # Linux
open coverage/html/index.html # macOS
start coverage/html/index.html # WindowsAvoid committing:
Use instead:
Naming conventions:
File structure:
Important
ThemisDB enforces strict code quality standards through automated CI checks.
All PRs must pass these checks before merging.
Configuration Details
Enabled Checks:
-
bugprone-*- Detect potential bugs -
clang-analyzer-*- Deep code analysis -
cppcoreguidelines-*- C++ Core Guidelines compliance -
modernize-*- Modern C++ features -
performance-*- Performance optimizations -
readability-*- Code readability
Configuration File: .clang-tidy
Auto-fix:
./scripts/check-quality.sh --fix # Linux/macOS
.\scripts\check-quality.ps1 -Fix # WindowsWarning
Common Issues to Avoid:
- β Magic numbers β Use named constants
- β Unnecessary copies β Use
const&orstd::move - β Missing
overridekeyword - β C-style casts β Use
static_cast/dynamic_cast
- Enabled Checks: All (with suppressions for known false positives)
-
Configuration:
.cppcheck-suppressions - Purpose: Catch memory leaks, null pointer dereferences, undefined behavior
| Component | Target | Critical Path |
|---|---|---|
| Overall | 80%+ | - |
| Storage Engine | - | 90%+ |
| Transaction Manager | - | 90%+ |
| Query Engine | - | 90%+ |
Generate Local Coverage Report
# After running tests with coverage
mkdir -p coverage
lcov --capture --directory build --output-file coverage/coverage.info
lcov --remove coverage/coverage.info '/usr/*' '*/vcpkg_installed/*' '*/tests/*' \
--output-file coverage/coverage-filtered.info
genhtml coverage/coverage-filtered.info --output-directory coverage/html
# Open report
xdg-open coverage/html/index.html # Linux
open coverage/html/index.html # macOS
start coverage/html/index.html # WindowsCaution
CI fails immediately if secrets are detected!
- Tool: Gitleaks
-
Configuration:
.gitleaks.toml
β Never Commit:
- API keys
- Passwords
- Private keys
- Database credentials
β Use Instead:
- Environment variables
-
.env.exampletemplates (never.env) - Configuration placeholders (
YOUR_API_KEY_HERE)
Important
All dependencies must comply with ThemisDB's license policy!
The automated license compliance workflow blocks PRs with incompatible licenses.
License Policy:
- Allowed: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, Unlicense, CC0-1.0, MPL-2.0
- Warning (Weak Copyleft): LGPL-2.1, LGPL-3.0, EPL-1.0, EPL-2.0 (acceptable with dynamic linking)
- Blocked (Strong Copyleft): GPL-2.0, GPL-3.0, AGPL-3.0
- Blocked: Proprietary, Commercial, UNLICENSED
Before adding dependencies:
- Check the license - Verify it's in the allowed list
-
Review
.license-policy.json- Consult the policy file - Document in PR - Mention the license in your pull request
If your PR is blocked:
- Option A: Replace the dependency with a compatible alternative (preferred)
-
Option B: Request an exception by creating an issue with label
license-exception
Automated Checks:
- β Runs on every PR that changes dependencies
- π Monthly audit on the first of each month
- π Scans direct and transitive
vcpkg.jsondependencies against.license-policy.json - π¦ Publishes
license-summary.mdandvcpkg-license-sbom.jsonas workflow artifacts - π« Must stay green before a PR can be approved and merged
Local verification:
cmake --build build --target license-complianceDocumentation:
- Full License Compliance Process (German)
- License Compliance Process (English)
- License Policy File
Naming Conventions
| Element | Convention | Example |
|---|---|---|
| Namespaces | lower_case |
vccdb, themis
|
| Classes/Structs | CamelCase |
StorageEngine, HttpServer
|
| Functions | camelCase |
getValue, processQuery
|
| Variables | lower_case |
table_name, max_size
|
| Private Members | lower_case_ |
db_path_, cache_size_
|
| Constants | UPPER_CASE |
MAX_CONNECTIONS, DEFAULT_PORT
|
File Structure
include/<module>/<name>.h # Header files
src/<module>/<name>.cpp # Implementation files
tests/test_<module>_<feature>.cpp # Test files
Comment Guidelines
- Use
//for single-line comments - Use
/** ... */for documentation (Doxygen style) - Explain why, not what (code should be self-documenting)
Example:
// Good: Explains WHY
// Use exponential backoff to prevent thundering herd
std::this_thread::sleep_for(std::chrono::milliseconds(delay));
// Bad: Explains WHAT (obvious from code)
// Sleep for delay milliseconds
std::this_thread::sleep_for(std::chrono::milliseconds(delay));-
Run all checks locally:
./scripts/check-quality.sh
-
Ensure all tests pass:
cd build ctest --output-on-failure -
Update documentation:
- Add/update relevant
.mdfiles indocs/ - Update
README.mdif needed - Add docstrings for new public APIs
- Add/update relevant
-
Add tests:
- Unit tests for new functions/classes
- Integration tests for new features
- Update existing tests if behavior changes
## Description
Brief description of changes
## Type of Change
---
## π Pull Request Process
### Before Submitting
> [!IMPORTANT]
> **Pre-submission Checklist:**
> - β
All quality checks pass locally
> - β
All tests pass
> - β
Documentation updated
> - β
Tests added for new functionality
<details open>
<summary><b>1οΈβ£ Run All Checks Locally</b></summary>
```bash
./scripts/check-quality.sh # Linux/macOS
.\scripts\check-quality.ps1 # WindowsThis runs:
- clang-tidy (static analysis)
- cppcheck (linting)
- Gitleaks (secret scanning)
2οΈβ£ Ensure All Tests Pass
cd build
ctest --output-on-failureExpected: All tests should pass β
3οΈβ£ Update Documentation
- π Add/update relevant
.mdfiles indocs/ - π Update
README.mdif needed - π¬ Add docstrings for new public APIs (Doxygen format)
4οΈβ£ Add Tests
| Test Type | Purpose | Example |
|---|---|---|
| Unit Tests | Test individual functions/classes | test_vector_search.cpp |
| Integration Tests | Test feature workflows | test_backup_restore.cpp |
| Regression Tests | Ensure bugs stay fixed | test_issue_456_pagination.cpp |
For all changes that touch runtime behavior, contributors must include tier information and security evidence.
- Identify impacted tier(s) using the model in ARCHITECTURE.md.
- Document trust-boundary crossings (for example T3 -> T2, T5 -> T4 broker calls).
- Confirm boundary controls on changed ingress/extension paths:
- authentication and authorization
- input validation and parser limits
- rate limiting and quota behavior
- audit event emission
- Add or update tests for changed boundaries, especially for T3/T4/T5 code paths.
- If a change effectively increases trust or privilege, include explicit architecture/security maintainer approval in the PR.
## π Description
Brief description of changes
## π Type of Change
- [ ] π Bug fix (non-breaking change which fixes an issue)
- [ ] β¨ New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
## How Has This Been Tested?
Describe the tests you ran to verify your changes.
## Checklist
- [ ] My code follows the code style of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published
- [ ] I have run `./scripts/check-quality.sh` and fixed all issues
- [ ] I did not introduce Simulation/Stub/Mockup or legacy compatibility paths without explicit human approval
- [ ] Any approved non-production path is explicitly human-marked (Reason, Activation, Production Delta, Approved By, Removal Target)
- [ ] I classified impacted Security Tier(s) and documented trust-boundary crossings
- [ ] I verified boundary controls (AuthN/AuthZ, validation, rate limits, audit) for affected T3/T4/T5 paths
- [ ] I added boundary-focused tests for tier-crossing behavior or documented why not applicableReviewers must treat this as a hard blocker policy:
- No Simulation/Stub/Mockup or legacy compatibility path without explicit human approval.
- No unmarked non-production path.
- If approved, require explicit human marker fields in code comments:
- Reason
- Activation
- Production Delta
- Approved By
- Removal Target
-
Automated checks run on all PRs:
- Build (Linux + Windows)
- Tests
- Clang-tidy static analysis
- Cppcheck linting
- Code coverage
- Gitleaks secret scanning
-
Maintainer review:
- Code quality and style
- Test coverage
- Documentation
- Architecture fit
-
Address feedback:
- Make requested changes
- Push updates to the same branch
- Request re-review
-
Merge:
- Once approved and all checks pass
- Maintainer will squash and merge (preferred for feature/bugfix PRs to keep history clean)
- Merge commits are only used for release and hotfix branches
Important
ThemisDB uses different merge strategies depending on the branch type:
| Branch Type | Merge Method | Reason |
|---|---|---|
| feature/ β develop | Squash and merge β | Keeps develop history clean, one commit per feature |
| bugfix/ β develop | Squash and merge β | Keeps develop history clean, one commit per fix |
| release/ β edition lane | Merge commit | Preserves full release history and commit metadata |
| hotfix/ β edition lane | Merge commit | Preserves full hotfix history for audit purposes |
Why squash merge for features/bugfixes?
- β Cleaner, more readable git history
- β One logical commit per feature/fix
- β Easier to revert if needed
- β Better changelog generation
- β Development commits (WIP, fix typo, etc.) stay in feature branch
Configuring GitHub Repository Settings:
Maintainers should configure the repository settings on GitHub to enforce this:
- Go to Settings β General β Pull Requests
- Enable "Allow squash merging" β
- Enable "Allow merge commits" β (needed for releases)
- Disable "Allow rebase merging" β (optional)
- Set "Squash merging" as the default for the repository
ThemisDB uses a comprehensive labeling system to categorize and organize issues and pull requests.
Quick Reference:
| Label Category | Purpose | Examples |
|---|---|---|
| Priority | Urgency level |
priority:P0 (critical), priority:P1 (high) |
| Type | Issue nature |
type:bug, type:feature, type:enhancement
|
| Area | Component affected |
area:llm, area:storage, area:api
|
| Status | Current state |
status:ready, status:in-progress
|
| Effort | Work required |
effort:small (<1 day), effort:large (1-2 weeks) |
| Experience | Contributor level |
good first issue, help wanted
|
For issue reporters: Don't worry about adding labels - maintainers will add appropriate labels during triage.
For contributors: Look for good first issue labels if you're new to the project.
Complete documentation:
- Full Guide: .github/LABELS.md
- Quick Reference: .github/LABELS.md
- Label Definitions: .github/labels.yml
Before submitting a bug report:
- Check existing issues: Search for similar reports
- Verify it's a bug: Ensure it's not expected behavior
- Test on latest version: Bug may already be fixed
Bug report template:
## Description
Clear description of the bug
## Steps to Reproduce
1. Step one
2. Step two
3. ...
## Expected Behavior
What you expected to happen
## Actual Behavior
What actually happened
## Environment
- OS: [e.g., Ubuntu 22.04, Windows 11]
- Compiler: [e.g., GCC 11.2, MSVC 2022]
- ThemisDB version/commit: [e.g., v1.0.0 or commit hash]
## Additional Context
Logs, screenshots, or other relevant informationFeature request template:
## Feature Description
Clear description of the proposed feature
## Motivation
Why is this feature needed? What problem does it solve?
## Proposed Solution
How should this feature work?
## Alternatives Considered
Other approaches you've thought about
## Additional Context
Any other relevant informationThemisDB follows a Living Documentation approach where documentation evolves with the codebase through continuous review and improvement.
-
Architecture docs:
docs/architecture/ -
API docs:
docs/api/ -
User guides:
docs/ -
Examples:
examples/ -
Compendium:
compendium/ -
Translations:
docs/de/,docs/fr/,docs/es/,docs/ja/ -
Archived docs:
docs/ARCHIVED/- Historical development documents (GAP analyses, old roadmaps, completed implementations)
Note: Historical development documents (GAP analyses, roadmaps, TODO lists, implementation summaries) have been archived to
docs/ARCHIVED/. See docs/ARCHIVED/README.md for the complete archive index.
All PRs with code changes must include documentation updates:
- Complete the PR Documentation Checklist
- Update affected documentation files
- Add/update code examples if applicable
- Update CHANGELOG.md
- Ensure documentation builds successfully (
mkdocs build --strict)
Documentation must be:
- Accurate - Reflects current implementation
- Complete - Covers all features and use cases
- Clear - Easy to understand for target audience
- Tested - Code examples compile and run
- Maintained - Regularly reviewed and updated
Documentation is reviewed at multiple levels:
-
PR Review (Every PR with code changes)
- Documentation changes reviewed alongside code
- At least one reviewer verifies accuracy
- Must pass before merge
-
Monthly Reviews (First Monday of each month)
- Quick check of recent changes
- Identify and fix quick wins
- Track documentation debt
-
Quarterly Reviews (Start of each quarter)
- Comprehensive documentation audit
- Test all examples
- Update translations
- Archive outdated content
-
Release Reviews (Before each release)
- Verify release documentation
- Update version references
- Validate migration guides
Review schedule and process: docs/governance/documentation-history/DOCUMENTATION_REVIEW_SCHEDULE.md
Writing style:
- Use active voice ("Configure the database..." not "The database can be configured...")
- Be specific with values and examples
- Provide working code examples
- Explain prerequisites clearly
- Keep language clear and concise
Quality standards:
# Before submitting PR:
mkdocs build --strict # Verify build
./scripts/check-links.sh # Validate links
./scripts/test-examples.sh # Test examples (if available)Complete documentation guidelines: docs/PR_DOCUMENTATION_CHECKLIST.md
ThemisDB preserves outdated documentation in archives to maintain historical context while keeping active documentation current.
Archive documentation when:
- Content is outdated and superseded by newer documentation
- Feature/component no longer exists or has been replaced
- Information has been consolidated into another document
- Content is no longer accurate or relevant to current versions
- Implementation summaries from completed work (keep for reference)
Archive structure:
- Language-agnostic:
docs/archive/ - Language-specific:
docs/{LANG}/archive/(e.g.,docs/de/archive/)
Archival process:
- Review - Verify document should be archived
- Preserve - Extract valuable content to current docs
-
Archive - Move with
git mv(preserves history) - Annotate - Add archive note using template
- Update - Fix all references and update indexes
- Document - Update CHANGELOG and archive README
Resources:
- Process Guide: docs/DOCUMENTATION_ARCHIVAL_PROCESS.md
- Archive Template: docs/archive/ARCHIVE_NOTE_TEMPLATE.md
- Archive Indexes: docs/archive/, docs/de/archive/
Key principles:
- β
Always use
git mvto preserve history - β Add archive note explaining why and when
- β Update all references to prevent broken links
- β Document archival in CHANGELOG
- β Keep archive READMEs organized and current
If you're interested in maintaining ThemisDB packages for a specific distribution:
We welcome package maintainers for all platforms! To become a maintainer:
-
Review the packaging documentation:
- Read
docs/de/guides/guides_packaging.mdfor detailed instructions - Check
docs/de/guides/guides_packaging_quickref.mdfor quick reference
- Read
-
Test the package build:
- Build the package for your target platform
- Install and test in a clean environment
- Verify all functionality works as expected
-
Submit to distribution repositories:
- Follow platform-specific guidelines (see
docs/de/guides/guides_packaging.md) - Submit package to appropriate repository (PPA, AUR, Copr, etc.)
- Notify us via GitHub issue when package is published
- Follow platform-specific guidelines (see
-
Keep packages updated:
- Monitor releases and security updates
- Update packages within 1-2 weeks of new releases
- Coordinate with core team for pre-release testing
We currently support packaging for:
Use the provided scripts to prepare new releases:
# Linux/macOS
./scripts/prepare-release.sh 1.0.1
# Windows
.\scripts\prepare-release.ps1 -Version 1.0.1These scripts automatically update version numbers across all packaging files.
By contributing to ThemisDB, you agree that your contributions will be licensed under the MIT License.
ThemisDB uses a tag-based release strategy with semantic versioning. Releases are automated through GitHub Actions when version tags are pushed.
Important
Canonical branch model:
-
develop= default integration branch for feature and bugfix work -
minimal,community,enterprise,hyperscaler,military= protected edition release lanes - Legacy names
mainandmillitaryare historical only and must not be used for new PR targets - See BRANCHING_STRATEGY.md and RELEASE_STRATEGY.md for normative release governance
feature/bugfix branches -> develop -> release/<edition>/vX.Y.Z -> <edition lane> -> tag -> GitHub Release
^ |
+-------------- back-merge/cherry-pick --------+
1οΈβ£ Prepare Release Branch
# Branch from develop for release preparation
git checkout develop
git pull --ff-only origin develop
git checkout -b release/community/v1.4.0
# Update version and release notes
# VERSION -> 1.4.0
# CHANGELOG.md -> add notes under [1.4.0] - YYYY-MM-DD
git add VERSION CHANGELOG.md
git commit -m "chore(release): prepare community v1.4.0"
git push origin release/community/v1.4.02οΈβ£ Create PR to Edition Lane
- Create a Pull Request from
release/community/v1.4.0tocommunity - Ensure required checks pass
- Get maintainer approval
- Merge using a merge commit for release provenance
3οΈβ£ Tag from Edition Lane
git checkout community
git pull --ff-only origin community
# Community tag example
git tag -a v1.4.0 -m "ThemisDB Community v1.4.0"
git push origin v1.4.0Edition tag examples:
minimal-v1.4.0enterprise-v1.4.0hyperscaler-v1.4.0military-v1.4.0
4οΈβ£ Back-Merge to Develop
git checkout develop
git pull --ff-only origin develop
git merge community -m "chore: merge community v1.4.0 back to develop"
git push origin developThemisDB follows Semantic Versioning 2.0.0 (semver.org):
MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
Examples:
- 1.4.0 (stable release)
- 1.4.0-alpha (alpha pre-release)
- 1.4.0-beta.1 (beta pre-release)
- 1.4.0-rc.1 (release candidate)
- 1.4.0+build.1 (build metadata)
Version Increment Rules:
| Version | When to Increment | Example |
|---|---|---|
| MAJOR | Breaking changes to API/behavior | 1.4.0 β 2.0.0 |
| MINOR | New features (backward compatible) | 1.4.0 β 1.5.0 |
| PATCH | Bug fixes (backward compatible) | 1.4.0 β 1.4.1 |
For critical production issues that need immediate release:
Hotfix Workflow
# 1. Create hotfix branch from affected edition lane (example: community)
git checkout community
git pull origin community
git checkout -b hotfix/v1.4.1
# 2. Fix the issue
# ... make changes ...
# 3. Update VERSION and CHANGELOG
echo "1.4.1" > VERSION
# Update CHANGELOG.md with hotfix notes
# 4. Commit and push
git add .
git commit -m "fix: Critical security issue in authentication"
git push origin hotfix/v1.4.1
# 5. Create PR to affected edition lane (fast-track approval)
# Merge after required checks pass
# 6. Tag the hotfix release
git checkout community
git pull origin community
git tag -a v1.4.1 -m "Hotfix v1.4.1: Security patch"
git push origin v1.4.1
# 7. Merge back to develop
git checkout develop
git pull origin develop
git merge community -m "chore: Merge hotfix v1.4.1 to develop"
git push origin developFor alpha, beta, or release candidate versions:
# Example: Create beta release
echo "1.5.0-beta.1" > VERSION
# Tag with pre-release label
git tag -a v1.5.0-beta.1 -m "Beta release v1.5.0-beta.1"
git push origin v1.5.0-beta.1Note
Pre-release tags (containing - like v1.5.0-beta.1) are automatically marked as pre-release in GitHub Releases.
Use this checklist when preparing a release:
- All features for this version are merged to
develop - All tests pass on
developbranch - CHANGELOG.md is updated with all changes
- VERSION file is updated to new version
- Documentation is up to date
- Migration guide prepared (if breaking changes)
- Security scan passed
- Release notes drafted
- Release branch created from develop
- PR to target edition lane created and approved
- Tag created and pushed
- GitHub Release published (automatic)
- Changes merged back to develop
- Package maintainers notified
| Branch | Required Checks | Optional Checks |
|---|---|---|
| develop | Ubuntu build & test | Windows, macOS |
edition lanes (minimal/community/enterprise/hyperscaler/military) |
All platforms (Ubuntu, Windows, macOS) | Security scan |
When you push a version tag (e.g., v1.4.0), the release workflow automatically:
- β Validates version tag matches VERSION file
- π¨ Builds release binaries for:
- Ubuntu (
.tar.gz,.deb) - Windows (
.zip) - macOS (
.tar.gz)
- Ubuntu (
- π¦ Packages all binaries with CPack
- π Generates release notes from CHANGELOG.md and commits
- π Creates GitHub Release with all artifacts
- π’ Publishes release (or marks as pre-release)
- GitHub Actions: Actions Tab
- Releases: Releases Page
- Tags: Tags List
Interested in maintaining ThemisDB packages for your platform?
We welcome package maintainers for all distributions!
1οΈβ£ Review Packaging Documentation
- π Read docs/de/guides/guides_packaging.md for detailed instructions
- π Check docs/de/guides/guides_packaging_quickref.md for quick reference
2οΈβ£ Test Package Build
- π¨ Build the package for your target platform
- π§ͺ Install and test in a clean environment
- β Verify all functionality works as expected
3οΈβ£ Submit to Distribution Repositories
- π Follow platform-specific guidelines
- π€ Submit package to appropriate repository (PPA, AUR, Copr, etc.)
- π£ Notify us via GitHub issue when package is published
4οΈβ£ Keep Packages Updated
- π Monitor releases and security updates
- β‘ Update packages within 1-2 weeks of new releases
- π€ Coordinate with core team for pre-release testing
| Platform | Package Format | Repository |
|---|---|---|
| π§ Linux |
.deb, .rpm, PKGBUILD
|
Debian/Ubuntu, Fedora/RHEL, Arch |
| πͺ Windows | WinGet (ThemisDB.ThemisDB), Chocolatey |
winget-pkgs, chocolatey.org |
Manifests live in packaging/winget/manifests/. After each stable release:
- Generate manifests from the published GitHub Release asset:
pwsh scripts/release/new-winget-manifest.ps1 \ -Version <X.Y.Z> \ -InstallerType zip \ -InstallerUrl <URL_FROM_GITHUB_RELEASE> \ -InstallerSha256 <HASH_FROM_GITHUB_RELEASE> \ -PackageDependencies Microsoft.VCRedist.2015+.x64 \ -IncludeGermanLocale
- Validate locally:
winget validate --manifest packaging/winget/manifests/t/ThemisDB/ThemisDB/<X.Y.Z> - Submit PR manually with
pwsh scripts/release/submit-winget-pkgs.ps1 -Version <X.Y.Z> -ForkOwner <github-username>or let.github/workflows/release-winget.ymldo it automatically when the repository variableWINGET_FORK_OWNERand the reusable-workflow secretwinget_pr_tokenare configured. - Remove Draft status on the PR to trigger Microsoft's automated pipeline.
Pre-release versions (-rc*, -alpha, -beta) are submitted only after the stable version PR is merged. See RELEASE_STRATEGY.md Β§ 9.1 for the full policy.
| π macOS | Homebrew Formula | brew.sh |
Use provided scripts to prepare new releases:
# Linux/macOS
./scripts/prepare-release.sh 1.0.1
# Windows
.\scripts\prepare-release.ps1 -Version 1.0.1Note
These scripts automatically update version numbers across all packaging files.
- π Listed as package maintainer in README
- π Early access to release candidates for testing
- π¬ Direct communication channel with core team
- π Recognition in release notes
| Resource | Purpose | Link |
|---|---|---|
| π¬ GitHub Discussions | General questions | Discussions |
| π GitHub Issues | Bug reports & features | Issues |
| π GitHub Security Advisories | Private vulnerability reports | Report |
| π Documentation | Detailed guides | docs/ |
ThemisDB includes Gap Scanner V3, a comprehensive gap detection system. Contributors are welcome to add new scanners!
- 46 scanners organized into 4 phases
- Each scanner inherits from
BaseGapScanner - Automatic impact classification (Severity Γ Impact)
- Auto-discovery via filesystem pattern matching
Choose the appropriate phase and category:
| Phase | Category | Use For |
|---|---|---|
| Phase 1 | ai |
AI-Vibe specific patterns |
| Phase 1 | core |
C++ baseline issues |
| Phase 1 | check |
Syntactic validation |
| Phase 2 | safety |
Exception/input safety |
| Phase 3 | security |
Cryptography, hardening |
| Phase 4 | design |
Architecture rules |
| Phase 4 | quality |
Documentation standards |
Create file in tools/scanners/ following the naming convention:
gs3_step<N>_<category>_<name>.py
Example: gs3_step01_core_memory_bounds.py
"""
Memory bounds checking scanner.
Detects: Buffer overflows, out-of-bounds access, pointer arithmetic errors
"""
from tools.gs3_base_scanner import BaseGapScanner, GapSeverity
class MemoryBoundsScanner(BaseGapScanner):
"""Detects memory bounds violations."""
def __init__(self):
super().__init__(
name="MemoryBounds",
description="Detects buffer overflows and out-of-bounds access",
phase=1, # Phase number
)
def scan(self, codebase_dir):
"""Scan codebase for memory bounds issues."""
# Your scanning logic here
for file in self.collect_files(codebase_dir, pattern='*.cpp'):
gaps = self.detect_memory_issues(file)
for gap in gaps:
# Add gap with automatic impact classification
self._add_gap(
file=gap['file'],
line=gap['line'],
category=gap['category'], # e.g., 'out_of_bounds'
message=gap['message'],
severity=gap['severity'], # GapSeverity.HIGH
tool_tip=gap.get('details', '')
)
return self.gaps
def detect_memory_issues(self, filepath):
"""Implementation of your scanning logic."""
# TODO: Your detection logic
return []If not using auto-discovery, update tools/scanners/gs3_step00_uniform_full.py:
from scanners.gs3_step01_core_memory_bounds import MemoryBoundsScanner
# In UniformFullScanner.scan():
scanner = MemoryBoundsScanner()
self.gaps.extend(scanner.scan(codebase_dir))Note: Modern system uses auto-discovery, so manual import usually not needed.
# Run just your scanner
python -c "
from tools.scanners.gs3_step01_core_memory_bounds import MemoryBoundsScanner
scanner = MemoryBoundsScanner()
gaps = scanner.scan('src')
print(f'Found {len(gaps)} gaps')
for gap in gaps[:3]:
print(f' {gap.file}:{gap.line} - {gap.message}')
"
# Run full GS3 test suite
python tools/test_gs3_integration.py
# List your scanner in GS3 CLI
python tools/gs3.py list-scanners --step 1Add a docstring with:
"""
Brief description of what this scanner detects.
Detects:
- Specific pattern 1
- Specific pattern 2
- Specific pattern 3
Supported:
- C++ detection patterns
- Regex patterns
- AST analysis
Not supported:
- Dynamic analysis
- Runtime detection
False positive rate: ~5-10% (estimated)
Performance: ~0.5s per 1MB of code
"""Create tools/tests/test_gs3_step01_core_memory_bounds.py:
import unittest
from pathlib import Path
from tools.scanners.gs3_step01_core_memory_bounds import MemoryBoundsScanner
class TestMemoryBoundsScanner(unittest.TestCase):
def setUp(self):
self.scanner = MemoryBoundsScanner()
def test_detects_buffer_overflow(self):
# Test case for buffer overflow detection
test_file = "test_data/buffer_overflow.cpp"
gaps = self.scanner.scan(".")
# Assert detection
self.assertTrue(len(gaps) > 0)
def test_no_false_positives(self):
# Test safe code doesn't trigger
test_file = "test_data/safe_code.cpp"
gaps = self.scanner.scan(".")
# Assert no false positives
self.assertEqual(len(gaps), 0)
if __name__ == '__main__':
unittest.main()- Create feature branch:
feature/scanner-memory-bounds - Implement and test scanner
- Update
CHANGELOG.mdwith scanner addition - Submit PR with:
- Clear description of what the scanner detects
- Test results (pass/fail counts)
- Performance metrics (time per 1MB code)
- Example gaps from real codebase
- β
File named
gs3_step<N>_<category>_<name>.py - β
Class inherits from
BaseGapScanner - β
All
_add_gap()calls use proper severity/impact - β Comprehensive docstring with examples
- β Unit tests with real code samples
- β No external dependencies (use only std lib + ThemisDB imports)
- β Performance acceptable (< 1s per 1000 files)
- β Registered in orchestrator (if auto-discovery doesn't work)
- β
Listed in
tools/GS3_CLI_GUIDE.md - β PR includes test results and metrics
# Available in your scanner class:
self._add_gap(
file: str, # File path
line: int, # Line number
category: str, # Gap category
message: str, # Human-readable message
severity: GapSeverity, # CRITICAL/HIGH/MEDIUM/LOW
tool_tip: str = None # Additional details
)
self.collect_files(
directory: str, # Root directory
pattern: str = "*.cpp" # File pattern
) -> List[str]
self.read_file(filepath: str) -> str- gs3_step01_core_memory.py
- gs3_step02_safety_exception.py
- gs3_step03_security_encryption_leak.py
- gs3_step04_design_architecture.py
By contributing to ThemisDB, you agree that your contributions will be licensed under the MIT License.
π Thank you for contributing to ThemisDB!
β Star us on GitHub Β· π Read the Docs Β· π¬ Join Discussions
Zuletzt geprueft (Root-Sync): 2026-06-21
ThemisDB 1.9.0-beta Β· Home Β· Module-Index Β· GitHub Β· Issues
ThemisDB 1.9.0-beta Β· Home Β· Wiki-Index Β· Module-Index Β· FAQ Β· Quick-Reference Β· GitHub Β· Issues Β· Discussions Β· License
- Home
- Hero Articles
- All Wiki Pages
- FAQ
- Edition Comparison
- Repository README
- Changelog
- Roadmap
- Versioning
- Integration Mapping
- Overview
- Readme
- Appendix D Feature Status
- Appendix E Incident Runbooks
- Appendix F AQL Cheatsheet
- Appendix G Configuration
- Appendix H Glossary
- Appendix I Troubleshooting
- Appendix Literatur
- Chapter 00 Genesis
- Chapter 01 Introduction
- Chapter 02 Architecture
- Chapter 03 Multimodel
- Chapter 04 Installation
- Chapter 05 Relational
- Chapter 06 Graph
- Chapter 07 Document
- Chapter 08 Storage Layer
- Chapter 08 Vector
- Chapter 09 Timeseries
- Chapter 10 Enterprise
- Chapter 11 Realtime
- Chapter 12 Computervision
- Chapter 13 Fulltext
- Chapter 14 Geospatial
- Chapter 15 Analytics
- Chapter 16 Ml
- Chapter 16 Sharding
- Chapter 17 LLM Integration
- Chapter 17 Scaling
- Chapter 18 HA
- Chapter 18 Ml
- Chapter 19 Monitoring
- Chapter 19 Monitoring Observability
- Chapter 20 Backup
- Chapter 20 Performance
- Chapter 21 Auth
- Chapter 21 Performance
- Chapter 22 Clients
- Chapter 22 Encryption
- Chapter 23 Testing Qa
- Chapter 24 Ai Ethics
- Chapter 25 Devops Infrastructure
- Chapter 26 Migration Legacy
- Chapter 27 Troubleshooting
- Chapter 28 AQL Reference
- Chapter 29 Analytics Process Mining
- Chapter 30 Deployment Operations
- Chapter 31 API Protocols
- Chapter 32 API Design Rest Principles
- Chapter 32 AQL Oop Implementation
- Chapter 33 Best Practices
- Chapter 34 Query Optimization
- Chapter 35 Data Modeling Patterns
- Chapter 36 Security Hardening
- Chapter 37 Ecosystem Integration
- Chapter 38 Observability Sre
- Chapter 39 Performance Tuning Cookbook
- Chapter 40 Data Governance Compliance
- Chapter 41 Hands On Labs
- Chapter 42 Docs Assistant Usage
- Chapter MVCC Hlc
- Cover
- Cover Book
- Index
- Preface
- Test Links Example
- Batch Operations
- Best Practices
- CRUD Tutorial
- Custom Document Ingestion
- Getting Started Tutorial
- Interactive Examples
- Schema Design
- Video Tutorials
- AQL Reference
- AQL Examples
- AQL Overview
- AQL Feature Roadmap
- AQL Geospatial Guide
- AQL LLM Migration Guide
- AQL API
- AQL Grammar (EBNF)
- AQL Root Overview
- AQL Examples (root)
- API Reference
- API Module README
- OpenAPI Overview
- Client SDK Overview
- SDK Overview
- Operations
- Operations Overview
- Operations Runbook
- Operations Handbook
- ThemisCtl Admin Guide
- Pipeline E2E SOPs
- Docker Overview
- Docker Hub README
- Helm Overview
- Packaging Overview
- Operator Overview
- Security Policy
- Production Hardening Checklist
- Security Hardening Guide
- Encryption Key Management
- Access Control Framework
- Zero Trust Policy
- API Authentication & Authorization
- HSM Production Setup
- PKCS11 Integration
- DSGVO / SOC2 Checklist
- Access Model Runbooks
- Access Model Dashboard
- Maturity Automation Runbook
- Access Review Automation
- Access Model Dashboard
- Access Model Runbooks
- Rights Revocation
- Dr Checklists
- Dr Testing
- Incident Response Playbook
- Incident Response Testing
- GPU Oom Recovery
- Grammar Debugging
- Metrics Scrape Troubleshooting
- Model Swap Procedure
- Quota Tuning
- Subagent Deployment
- Logging Configuration
- Content Model
- Crypto & Keys
- Feature Flags Reference
- Modular Architecture Roadmap
- Modularization Guide
- Module Architecture Index
- PostgreSQL Wire Protocol
- Query Scheduling
- Raft Consensus Design
- Resource Pooling
- Source Directory Guide
- Unified Access Model
- E1 001 Layered Retrieval Design
- E1 002 Ann Abstraction Strategy
- E1 003 Tensor Summary Types
- E1 004 Lora Package Distinction
- E1 005 Model Switch Compatibility
- E1 006 Federated Tensor Summaries
- E2 001 Evaluation Framework Design
- E2 002 Hardware Profile Strategy
- E2 003 Query Planner Routing Model
- E2 004 Approximation Governance Rules
- E2 005 Cross Layer Fallback Confidence Policy
- E3 001 Distributed Tensor Design
- E3 002 Manifest Coordination Strategy
- E3 003 Recovery And Erasure Choice
- E3 004 Tensor Fabric Infrastructure
- Contributing
- Contributing (root)
- Code of Conduct
- Support
- Maintainers
- CTest Guide
- Build Quick Reference
- Developer Wiki Index
- Build / Test / CI
- Module Index
- Branching Strategy
- Release Strategy
- CI Policy Gates Wave C
- Disabled Stub Policy
- Docs PR Policy
- GA Promotion Sign Off
- Github Milestones Setup
- Governance Policies Phase1
- GPU Self Hosted Runner Requirements
- Hardening Phase 1 2 Summary 2026 09 23
- Maturity Claim Verification Checklist
- Maturity Evidence Registry
- Merge Gate Bot Config
- Merge Gate Status Live
- Phase 1 Closure Report
- Phase 1 Infrastructure Deployment
- Phase 1 Infrastructure Deployment Complete
- Phase 3 Baseline Capture
- Phase 3 Refinement Spec
- Phase 4 Sign Off And Closure
- Phase Closure Policy
- Phase Dependency Graph
- Phase3 Enforcement Runbook
- Plugin Submodule Rollback
- PR Version Targeting
- PR Version Targeting Backfill
- Production Ready 2026 Delivery Plan
- Publish Workflow Audit 2026 09 23
- Query Module Status
- Readme
- Release Governance
- Release Promotion Gate Policy
- Release Validation Checklist
- Root Hygiene Policy
- SBOM Approved Versions
- Security Compliance Audit Report 2026 08 10
- Security Module 5671 Evidence Summary
- Sharding P6 Residual Risk Acceptance
- Sourcecode Compliance Governance
- Src Module Documentation Compliance 2026 09 20
- Updates Development Status Sign Off
- Wave C Implementation Complete
- Wave C Implementation Plan
- Wave C Ml Exit Gate Sign Off
- Wave C Policy Gate Evidence
- Wiki Publish Tracking Guide
- Blob Storage
- Cuda
- Ethics Ai
- Exporters
- Huggingface
- Image Analysis
- Importers
- RPC
- Scraper
- Themisdb Ai Watermark Detector
- User Storage Encrypted
- Chimera Architecture
- Chimera Future
- Chimera Readme
- Chimera Roadmap
- Covina Fastapi Ingestion Architecture
- Covina Fastapi Ingestion Future
- Covina Fastapi Ingestion Roadmap
- Vcc Base Architecture
- Vcc Base Future
- Vcc Base Roadmap
- Vcc Clara Ingestion Architecture
- Vcc Clara Ingestion Future
- Vcc Clara Ingestion Roadmap
- Vcc Veritas Architecture
- Vcc Veritas Future
- Vcc Veritas Roadmap
- 01 Hello World
- 02 Todo App
- 03 Contact Manager
- 04 Inventory System
- 05 Time Series Monitor
- 06 Graph Social Network
- 07 Vector Search Documents
- 08 Dms Erp System
- 09 Iot Sensor Network
- 10 Drone Image Analysis
- 11 Blog Wiki
- 12 Expense Tracker
- 13 Recipe Manager
- 14 Ecommerce Catalog
- 15 Event Management
- 16 Kanban Board
- 17 Crm
- 18 Realtime Chat
- 19 Recommendation Engine
- 20 Smart Home
- 21 Coding Platform
- 22 AQL Diagram Tool
- 23 Traveling Salesman
- 24 Moral Philosophy Debates
- API Versioning
- Distributed Sharding
- Feedback Plugins
- Geo
- Gnn
- Image Analysis
- Legal Lora Training
- LLM
- Lora Sync
- Migration
- Nlp
- Performance
- Railway
- Replication
- Rope Visualization
- Sample Product Config
- Security
- Client SDK Overview
- Quickstart
- Sdk Enhancements
- Sdk Implementation Summary
- Test Suite Readme
- Go
- Java
- Javascript
- Php
- Python
- Ruby
- Rust
- Typescript
- 01 Grundlegende Operationen
- 02 AQL Queries
- 03 Graph Daten
- 04 Multimodell Anwendung
- 01 Quickstart Guide
- 02 AQL Referenz Kurzuebersicht
- 03 Datenmodellierung Guide
- 04 Uebungsaufgaben
- 05 Best Practices Guide
- Training Documents
- Training Overview
- 01 Einfuehrung Und Uebersicht
- 02 Datenmodelle Und Architektur
- 03 AQL Abfragesprache
- 04 Installation Und Setup
- 05 Anwendungsbeispiele
- Training Presentations
- Dependencies Readme
- Processmonitor Readme
- Themis.admintools.shared Readme
- Themis.aqlquerybuilder Readme
- Themis.aqlquerybuilder Roadmap
- Themis.auditlogviewer Readme
- Themis.auditlogviewer Roadmap
- Themis.classificationdashboard Readme
- Themis.classificationdashboard Roadmap
- Themis.compliancereports Readme
- Themis.compliancereports Roadmap
- Themis.gisviewer.controlpanel Readme
- Themis.gisviewer.controlpanel Roadmap
- Themis.impactanalysisviewer Readme
- Themis.impactanalysisviewer Roadmap
- Themis.ingestiontool Readme
- Themis.ingestiontool Roadmap
- Themis.keyrotationdashboard Readme
- Themis.keyrotationdashboard Roadmap
- Themis.piimanager Readme
- Themis.piimanager Roadmap
- Themis.retentionmanager Readme
- Themis.retentionmanager Roadmap
- Themis.sagaverifier Readme
- Themis.sagaverifier Roadmap
- Themis.usbadmintool Readme
- Themis.usbadmintool Roadmap
- Architecture Generator Readme
- CI Readme
- CI Roadmap
- Compiler Diagnostics Readme
- Compiler Diagnostics Roadmap
- Completion Readme
- Copilot Ollama Router Readme
- Copilot Ollama Router Roadmap
- Gnn Readme
- Gnn Roadmap
- Rope Visualizer Readme
- Rope Visualizer Roadmap
- Tco Calculator Readme
- Tco Calculator Roadmap
- Tests Readme
- Tests Roadmap
- Themis Config Wx Readme
- Themis Docs Builder Readme
- Wikipedia Ingestion Readme
- Ai Metadata And Provenance
- Build / Test / CI
- Governance And Roadmap
- Developer Wiki Index
- Module Direct Doxygen Check
- Module Doxygen Baseline Summary
- Module Doxygen Batch
- Module Doxygen Coverage Summary
- Module Doxygen Smoke Summary
- Modules And Apis
- Retrieval Direct Doxygen Check
- Soll Ist Gap Summary
- Wiki Delta Report