Skip to content
@synesis-lang

Synesis DSL Language

Synesis is a Domain-Specific Language (DSL) compiler that transforms qualitative research annotations into canonical knowledge structures.

Synesis

The confluence of information into intelligence.

A Domain-Specific Language and toolchain for transforming qualitative research annotations into structured, auditable knowledge.

License: AGPL v3 Python 3.10+


What is Synesis?

Qualitative research — literature reviews, grounded theory, case studies — generates enormous amounts of interpretive work that is typically lost in unstructured notes, spreadsheets, or proprietary software.

Synesis is a compiler for analytical thinking: you write your interpretations in plain-text files with a clean declarative syntax, and the toolchain validates, structures, and exports them as canonical knowledge artifacts. Discipline becomes a form of freedom — by delegating logical organization to a formal structure, the mind stays free for what truly matters: interpretation, nuance, and insight.

The result is true σύνεσις — the convergence of evidence fragments into an intelligible, auditable, and technically rigorous whole.


The Ecosystem

graph TD
    Z["📚 Zotero\n(PDF annotations & tags)"]
    ZP["🔌 zotero-synesis-export\n(.xpi plugin)\nexports raw .syn\nno chains or ontology codes"]
    SC["🤖 synesis-coder\n(LLM-assisted annotation)\ngenerates full .syn with chains\nand codes per project template"]
    SYN["📄 .syn / .synt / .syno / .synp\n(Synesis source files)"]
    C["⚙️ Synesis Compiler\n(LALR parser · AST validator · exporters)"]:::core
    API["🐍 Python API\nsynesis.load() · to_dataframe()"]
    LSP["🧠 Synesis LSP\n(Language Server Protocol)"]
    EXT["🖥️ Synesis for VS Code\n(editor extension)"]
    JP["📓 Jupyter Notebook\n(data science · visualization)"]
    OUT["📊 Structured Outputs\nJSON · CSV · Excel · REFI-QDA"]
    GRAPH["🕸️ synesis-graph\nNeo4j / GraphQLite"]
    MCP["🤖 AI Agents\nMCP-compatible clients"]

    classDef core fill:#7c3aed,stroke:#4c1d95,color:#fff,font-weight:bold

    Z -->|"export highlights & tags\n(plain .syn, no chains)"| ZP
    ZP -->|raw annotations| SYN
    SYN -->|"human codes .syn\nwith chains + ontology codes"| EXT
    EXT -->|"template-aware\nannotation request"| SC
    SC -->|"fully coded .syn\n(chains · codes · fields)"| SYN
    SYN -->|parsed & validated| C
    C --> API
    C -->|AST + diagnostics| LSP
    LSP -->|JSON-RPC / stdio| EXT
    API -->|to_dataframe · to_json_dict| JP
    C -->|compile| OUT
    OUT -->|import| GRAPH
    GRAPH -->|graph queries| MCP
Loading

Repositories

Repository Language Role
synesis Python Compiler, parser, validator, exporters, Python API
synesis-lsp Python Language Server — diagnostics, hover, completion, semantic tokens
synesis-vscode JS/TS VS Code extension — tree views, graph viewer, themes
synesis-graph Python Import compiled knowledge into Neo4j or GraphQLite; standalone HTML graph visualization
synesis-coder Python LLM-assisted annotation — abstract/document/ontology coding, critique, normalization, dataset generation, and more, conforming to the project template
zotero-synesis-export JavaScript Zotero 7 plugin — exports PDF highlights and tags as plain .syn (no chains or ontology codes)

Potential Applications

Domain How Synesis helps
Systematic literature reviews Annotate hundreds of papers with a shared template; export clean datasets for meta-analysis
Grounded Theory / Thematic Analysis Build and validate code systems with ontological constraints; trace every code to its source
Mixed-methods research Bridge qualitative interpretation with quantitative formats for R or Python workflows
Knowledge graphs Compile research findings into Neo4j or GraphQLite; model causal chains as graph edges
AI-augmented analysis Feed structured annotations as context to LLMs via MCP; responses traceable to source evidence
Biblical / exegetical studies Code canonical texts with relational chains; integrate classical and patristic corpora
Longitudinal projects Template versioning and strict validation prevent concept drift across research phases

Quick Start

pip install synesis synesis-lsp

Then install Synesis for VS Code. Optionally, add the Zotero plugin to export PDF annotations directly to .syn, and pip install synesis-graph / synesis-coder for graph export and LLM-assisted annotation. Full documentation at synesis-lang.github.io.


License

The synesis, synesis-lsp, synesis-graph, and synesis-coder packages are distributed under the GNU Affero General Public License, version 3 only (AGPL-3.0-only), with the Synesis Data-Output Exception — your research data and compiled outputs are never covered by the AGPL. synesis-vscode and zotero-synesis-export remain MIT. See each repository's LICENSE for details.

Interested in contributing? See the Contributor License Agreement.

Pinned Loading

  1. synesis-vscode synesis-vscode Public

    A Visual Studio Code extension for navigating and visualizing Synesis knowledge synthesis files (`.syn`, `.synt`, `.synp`, `.syno`).

    JavaScript

  2. synesis synesis Public

    Synesis is a Domain-Specific Language (DSL) compiler that transforms qualitative research annotations into canonical knowledge structures.

    Python 2

  3. synesis-lsp synesis-lsp Public

    Synesis LSP

    TeX

  4. case-studies case-studies Public

    Application cases of Synesis language

    TeX

Repositories

Showing 10 of 10 repositories

Top languages

Loading…

Most used topics

Loading…