File size: 2,541 Bytes
71a42ee
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
"""What this pipeline indexes.

Split out so the rest of the scripts contain no ROS-specific knowledge. The
Zephyr build (github.com/eoinjordan/zephyrproject-rag) runs the same chunker,
retriever and trainer against a different config; keeping the project-specific
parts in one file is what makes that true rather than aspirational.
"""

from __future__ import annotations

PROJECT = "ROS 2"
REPO = "https://github.com/ros2/ros2_documentation.git"

# ROS 2 documents each distribution on its own branch. "rolling" is the
# development line and the one that matches current source; a user pinned to a
# release should fetch that branch instead (--ref jazzy, --ref humble).
DEFAULT_REF = "rolling"

# Documentation lives under source/, not doc/.
DOC_ROOT = "source"

# Directories under DOC_ROOT that are build machinery or assets rather than
# prose. ROS 2 keeps images alongside the pages that use them.
SKIP_DIRS = {
    "_static",
    "_templates",
    "_build",
    "images",
    "Images",
}

# Files that are not documentation.
SKIP_FILES = {
    "conf.py",
    "index.rst",
    "requirements.txt",
    "404.rst",
}

# Sections that are lists of identifiers rather than prose. ROS 2 release pages
# carry long "Changes since..." package tables in the same shape Zephyr's
# release notes do.
SKIP_SECTION_PATTERN = (
    r"changes since|package (list|changes)|^bugs?$|contributors|complete changelog"
)

# Historical rather than instructional, down-weighted at query time unless the
# question is about a version or a change.
# Anchoring at the start missed these entirely: ROS 2 nests changelogs under
# Get-Started/Releases/, so "^Releases" matched nothing and a Kilted Kaiju
# changelog outranked the tutorials.
HISTORICAL_PATTERN = r"Releases/|Release-Notes|Changelog|Distributions/"

# Where a doc path becomes a URL.
DOC_URL = "https://docs.ros.org/en/rolling/{path}.html"

SUMMARY = (
    "ROS 2 is an open-source robotics middleware suite: libraries and tools for "
    "building robot applications, covering communication, tooling, simulation "
    "and hardware abstraction."
)

# Questions the assistant should handle well. Used by the Space and as a
# smoke-test set.
EXAMPLES = [
    "How do I write a minimal publisher and subscriber in Python?",
    "What is the difference between a service and an action?",
    "How do I create a custom message type in a package?",
    "How do I configure QoS settings for a topic?",
    "What does colcon build --symlink-install actually do?",
    "How do I write a lifecycle node?",
]