Skip to content

Architecture

Qiongli uses a hybrid repository layout: canonical academic content, runtime code, package shells, and maintainer tooling live in separate source boundaries, while release and install payloads are materialized as generated outputs.

Source Boundaries

BoundaryEditable sourceResponsibility
Academic contentcontent/Workflow package source, internal skills, templates, standards, roles, subjects, schemas, and venue profiles
Plugin distribution metadatacontent/distribution/plugins.yamlStable and prerelease plugin names, descriptions, prompts, keywords, and platform enablement
Python runtimepackages/python-qiongli/src/qiongli, deprecated research_skills shim, bridge adapters, CLI/runtime code
Package shellspackages/npm-qiongli/, packages/qiongli-literature-mcpb/Publishable npm and MCPB package sources
Maintainer toolingtooling/scripts/, tooling/pipelines/, tooling/install/, tooling/release/Automation, pipeline descriptors, installer manifests, release assets
Quality assetsevals/, tests/Evaluation cases/runners and cross-package regression tests
Documentationdocs/VitePress docs and maintainer guidance

Root scripts/ files are compatibility wrappers. Keep user-facing commands and CI references stable there, but edit script implementations under tooling/scripts/.

Root qiongli-workflow/, plugins/qiongli/, plugins/qiongli-next/, and .agent/ are generated artifact shapes. Edit workflow content under content/workflow/ and plugin metadata under content/distribution/plugins.yaml.

Layer Model

LayerPrimary editable sourceResponsibility
Contractcontent/standards/research-workflow-contract.yamlTask IDs, artifacts, quality gates
Capability Mapcontent/standards/mcp-agent-capability-map.yamlRuntime routing, MCP and skill requirements
Functional Agentscontent/roles/Ownership, quality thresholds, tone
Internal Skill Specscontent/skills/Reusable execution behavior
Pipelinestooling/pipelines/Step sequencing and handoffs
Client entry UXcontent/workflow/workflows/, content/distribution/plugins.yamlPortable workflows and generated platform command surfaces
Runtimepackages/python-qiongli/src/qiongli/CLI, installers, orchestration, providers
Distributionmaterialized staging treeqiongli-workflow/, plugin payloads, npm payload, Python payload

Stable User-Facing Entry Modes

Entry modeBest forStable entry
CLI install/upgradeInstalling and upgrading assetsqiongli, ql, research-skills, rsk, rsw
Script entrypointsCI, release, local maintenancescripts/*.py, scripts/*.sh wrappers
Orchestrator CLITask planning, execution, validationpython3 -m qiongli.bridges.orchestrator ...
Portable skill packageCross-client distribution surfacegenerated qiongli-workflow/
Plugin packageCodex/Claude plugin distributiongenerated plugins/qiongli/

Dependency Direction

Treat the system as a one-way graph:

  1. content/standards/
  2. content/roles/ and content/skills/
  3. content/templates/
  4. tooling/pipelines/, content/workflow/workflows/, and plugin metadata
  5. packages/python-qiongli/src/qiongli/
  6. materialized distribution payloads

Generated payloads must not become hidden sources of truth. If a generated plugin directory disagrees with content/, content/distribution/plugins.yaml, or the MCPB runtime package, fix the source and materialize again.

For exact directory responsibilities, see Repository Structure.

Last updated:

Qiongli documentation