This document is the deeper reference for agents and maintainers. The root entry docs such as AGENTS.md, CLAUDE.md, and .qwen/QWEN.md are intentionally kept lighter and should stay focused on durable project facts, hard constraints, and navigation.
Use the instruction stack in this order:
CLAUDE.mdAGENTS.md.qwen/QWEN.md.cursor/rules/scholaraio.mdc.clinerules.windsurfrules.github/copilot-instructions.md.claude/skills/<name>/SKILL.mdPractical rule:
The canonical project skill source is:
.claude/skills/<skill-name>/SKILL.mdCross-agent discovery wrappers expose the same skill set through:
.agents/skills/.qwen/skills/skills/Project guidance for maintaining skills:
SKILL.md focused on entry instructions and decision rulesSKILL.mdRepresentative skills:
search, show, ingest, workspace, audit, translateacademic-writing, literature-review, paper-guided-reading, paper-writing, citation-check, writing-polish, review-response, research-gap, poster, technical-reportdraw, document, publish, scientific-runtime, scientific-tool-onboardingScholarAIO’s canonical implementation namespaces are:
scholaraio/core/scholaraio/providers/scholaraio/stores/scholaraio/projects/scholaraio/services/scholaraio/interfaces/cli/High-signal mental model:
core/: config, logging, runtime foundationsproviders/: external APIs, parsing backends, transport adaptersstores/: persistent storage helpers and durable library rootsprojects/: workspace and project-level structuresservices/: business logic and orchestrationinterfaces/cli/: parser, startup, and user-facing command handlersThe breaking cleanup generation removed legacy public facades such as
scholaraio.index, scholaraio.workspace, scholaraio.translate, and
scholaraio.ingest.pipeline.
Current import rules:
scholaraio.cli is only the published entrypointscholaraio.interfaces.cli.compatFresh-layout runtime:
data/libraries/data/spool/data/state/workspace/published/Breaking cleanup behavior:
data/papers/, data/explore/, data/proceedings/, and data/inbox* are no longer opened implicitlyscholaraio migrate upgrade --migration-id <id> --confirmWorkspace rules:
workspace/<name>/ is a free-form user project tree, not a rigid scaffoldrefs/papers.jsonworkspace.yaml is additive metadata onlyworkspace/_system/Migration rules:
.scholaraio-control/scholaraio migrate upgrade --migration-id <id> --confirm for the normal one-command upgrade pathscholaraio migrate plan|verify|run|cleanup|finalize only when inspecting or repairing individual migration stepscitation_styles, toolref, explore, proceedings, spool, and papersmigrate finalize --confirm is the hardened one-click post-migration cleanup flow for real user rootsScholarAIO is meant to be used through an agent, not only through direct shell scripting.
Agents should:
workspace/When analysis should persist across sessions, use paper-level notes.md.
Conventions:
<papers_dir>/<Author-Year-Title>/notes.md## YYYY-MM-DD | <source> | <analysis type>scholaraio show "<paper-id>" --append-notes "..." is the user-facing append pathUseful mental model:
notes.mdUse the smallest doc that answers the question:
docs/index.mddocs/getting-started/agent-setup.mddocs/getting-started/installation.mddocs/getting-started/configuration.mddocs/guide/cli-reference.mddocs/guide/writing.mddocs/development/directory-structure-spec.mddocs/development/directory-migration-sequence.mddocs/development/migration-mechanism-spec.mddocs/development/upgrade-validation-matrix.mddocs/development/scholaraio-upgrade-plan.mdThe maintenance rule for this repo is simple: