sourcey 3.5.1 → 3.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +90 -10
  2. package/dist/cli.js +122 -3
  3. package/dist/components/layout/Page.d.ts.map +1 -1
  4. package/dist/components/layout/Page.js +4 -1
  5. package/dist/config.d.ts +60 -0
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +28 -3
  8. package/dist/core/godoc-introspector.d.ts +26 -0
  9. package/dist/core/godoc-introspector.d.ts.map +1 -0
  10. package/dist/core/godoc-introspector.js +144 -0
  11. package/dist/core/godoc-loader.d.ts +34 -0
  12. package/dist/core/godoc-loader.d.ts.map +1 -0
  13. package/dist/core/godoc-loader.js +491 -0
  14. package/dist/core/godoc-types.d.ts +109 -0
  15. package/dist/core/godoc-types.d.ts.map +1 -0
  16. package/dist/core/godoc-types.js +8 -0
  17. package/dist/core/markdown-loader.d.ts +10 -0
  18. package/dist/core/markdown-loader.d.ts.map +1 -1
  19. package/dist/core/search-indexer.d.ts.map +1 -1
  20. package/dist/core/search-indexer.js +9 -0
  21. package/dist/core/sourcey-godoc/cmd/sourcey-godoc/main.go +736 -0
  22. package/dist/core/sourcey-godoc/cmd/sourcey-godoc/site.go +497 -0
  23. package/dist/core/sourcey-godoc/cmd/sourcey-godoc/site_test.go +89 -0
  24. package/dist/core/sourcey-godoc/doc.go +11 -0
  25. package/dist/core/sourcey-godoc/go.mod +3 -0
  26. package/dist/dev-server.d.ts.map +1 -1
  27. package/dist/dev-server.js +42 -0
  28. package/dist/index.d.ts +1 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -0
  31. package/dist/site-assembly.d.ts +3 -0
  32. package/dist/site-assembly.d.ts.map +1 -1
  33. package/dist/site-assembly.js +30 -1
  34. package/dist/themes/default/sourcey.css +244 -0
  35. package/package.json +13 -4
@@ -1,3 +1,4 @@
1
+ import { type GodocLoaderDiagnostic } from "./core/godoc-loader.js";
1
2
  import type { PrettyUrls, ResolvedConfig, ResolvedTab } from "./config.js";
2
3
  import type { DocsPage } from "./core/markdown-loader.js";
3
4
  import type { SiteTab } from "./core/navigation.js";
@@ -10,9 +11,11 @@ export interface SiteAssembly {
10
11
  specsBySlug: Map<string, NormalizedSpec>;
11
12
  pageMap: Map<string, SitePage>;
12
13
  changelogDiagnostics: ChangelogDiagnostic[];
14
+ godocDiagnostics: GodocLoaderDiagnostic[];
13
15
  extraFiles: Map<string, string | Buffer>;
14
16
  }
15
17
  export declare function assembleSite(config: ResolvedConfig): Promise<SiteAssembly>;
18
+ export declare function formatGodocDiagnostic(diag: GodocLoaderDiagnostic): string;
16
19
  export declare function collectDocsPagesByTab(pageMap: Map<string, SitePage>, tabs: ResolvedTab[]): Map<string, DocsPage[]>;
17
20
  export declare function rebuildMarkdownTabNavigation(pageMap: Map<string, SitePage>, siteTabs: SiteTab[], tabs: ResolvedTab[], tabSlug: string, prettyUrls: PrettyUrls): void;
18
21
  export declare function enforceChangelogDiagnostics(diagnostics: ChangelogDiagnostic[], strictChangelog?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"site-assembly.d.ts","sourceRoot":"","sources":["../src/site-assembly.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAiB,QAAQ,EAAgB,MAAM,2BAA2B,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAA8B,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC1C;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAgGhF;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC9B,IAAI,EAAE,WAAW,EAAE,GAClB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAgBzB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,GACrB,IAAI,CAsBN;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,mBAAmB,EAAE,EAClC,eAAe,UAAQ,GACtB,IAAI,CAYN;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAIjF;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAI9E;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAEvF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA4BjF;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAUlD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAuEpF"}
1
+ {"version":3,"file":"site-assembly.d.ts","sourceRoot":"","sources":["../src/site-assembly.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAIlF,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAiB,QAAQ,EAAgB,MAAM,2BAA2B,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAA8B,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;IAC1C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC1C;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAyHhF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAKzE;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC9B,IAAI,EAAE,WAAW,EAAE,GAClB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAgBzB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,EAAE,WAAW,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,GACrB,IAAI,CAsBN;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,mBAAmB,EAAE,EAClC,eAAe,UAAQ,GACtB,IAAI,CAYN;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAIjF;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAI9E;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAEvF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA4BjF;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAUlD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAuEpF"}
@@ -7,6 +7,7 @@ import { normalizeSpec } from "./core/normalizer.js";
7
7
  import { normalizeMcpSpec } from "./core/mcp-normalizer.js";
8
8
  import { loadDocsPage, slugFromPath } from "./core/markdown-loader.js";
9
9
  import { loadDoxygenTab } from "./core/doxygen-loader.js";
10
+ import { loadGodocTab } from "./core/godoc-loader.js";
10
11
  import { buildNavFromSpec, buildNavFromPages } from "./core/navigation.js";
11
12
  import { generateChangelogFeeds } from "./renderer/changelog-feed.js";
12
13
  import { pageOutputPath, tabPath } from "./config.js";
@@ -17,6 +18,7 @@ export async function assembleSite(config) {
17
18
  const pageMap = new Map();
18
19
  const siteTabs = [];
19
20
  const changelogDiagnostics = [];
21
+ const godocDiagnostics = [];
20
22
  for (const tab of config.tabs) {
21
23
  if (tab.openapi || tab.mcp) {
22
24
  const spec = specsBySlug.get(tab.slug);
@@ -47,6 +49,26 @@ export async function assembleSite(config) {
47
49
  siteTabs.push(navTab);
48
50
  continue;
49
51
  }
52
+ if (tab.godoc) {
53
+ const { pages, navTab, diagnostics } = await loadGodocTab(tab.godoc, tab.slug, tab.label, {
54
+ repo: config.repo,
55
+ editBranch: config.editBranch,
56
+ editBasePath: tab.godoc.sourceBasePath,
57
+ });
58
+ godocDiagnostics.push(...diagnostics);
59
+ for (const [slug, page] of pages) {
60
+ const outputPath = pageOutputPath(tab.slug, slug, config.prettyUrls);
61
+ pageMap.set(outputPath, {
62
+ outputPath,
63
+ currentPage: { kind: "markdown", markdown: page },
64
+ spec: primarySpec,
65
+ tabSlug: tab.slug,
66
+ pageSlug: slug,
67
+ });
68
+ }
69
+ siteTabs.push(navTab);
70
+ continue;
71
+ }
50
72
  if (!tab.groups)
51
73
  continue;
52
74
  const pagesByPath = new Map();
@@ -93,13 +115,20 @@ export async function assembleSite(config) {
93
115
  specsBySlug,
94
116
  pageMap,
95
117
  changelogDiagnostics,
118
+ godocDiagnostics,
96
119
  extraFiles,
97
120
  };
98
121
  }
122
+ export function formatGodocDiagnostic(diag) {
123
+ const sev = diag.severity.toUpperCase();
124
+ const where = diag.package ? ` [${diag.package}]` : "";
125
+ const loc = diag.file ? ` ${diag.file}${diag.line ? `:${diag.line}` : ""}` : "";
126
+ return `[${sev}] ${diag.code}${where}${loc} ${diag.message}`;
127
+ }
99
128
  export function collectDocsPagesByTab(pageMap, tabs) {
100
129
  const docsPagesByTab = new Map();
101
130
  for (const tab of tabs) {
102
- if (!tab.groups && !tab.doxygen)
131
+ if (!tab.groups && !tab.doxygen && !tab.godoc)
103
132
  continue;
104
133
  const tabPages = [];
105
134
  for (const [, page] of pageMap) {
@@ -1593,3 +1593,247 @@ h1[id], h2[id], h3[id], h4[id], h5[id], h6[id] {
1593
1593
  color: rgb(var(--color-gray-500));
1594
1594
  font-size: 0.8125rem;
1595
1595
  }
1596
+
1597
+ /* ── Godoc rendering ─────────────────────────────────────────────── */
1598
+
1599
+ #sourcey .godoc-import,
1600
+ #sourcey .godoc-import-path {
1601
+ font-size: 0.8125rem;
1602
+ color: rgb(var(--color-gray-500));
1603
+ margin: 0.25rem 0 1.5rem;
1604
+ }
1605
+
1606
+ #sourcey .godoc-import code,
1607
+ #sourcey .godoc-import-path code {
1608
+ font-family: var(--font-mono);
1609
+ background: rgba(var(--color-gray-100), 0.6);
1610
+ padding: 0.125rem 0.375rem;
1611
+ border-radius: 3px;
1612
+ }
1613
+
1614
+ #sourcey .godoc-source {
1615
+ margin: -0.25rem 0 0.625rem;
1616
+ font-size: 0.75rem;
1617
+ color: rgb(var(--color-gray-500));
1618
+ }
1619
+
1620
+ #sourcey .godoc-source a {
1621
+ color: inherit;
1622
+ text-decoration: none;
1623
+ }
1624
+
1625
+ #sourcey .godoc-source a:hover {
1626
+ color: rgb(var(--color-primary-ink));
1627
+ }
1628
+
1629
+ #sourcey .godoc-toc {
1630
+ margin: 1.5rem 0 2.5rem;
1631
+ padding: 0.875rem 1rem;
1632
+ border: 1px solid rgb(var(--color-gray-200));
1633
+ border-radius: 6px;
1634
+ background: rgba(var(--color-gray-50), 0.5);
1635
+ }
1636
+
1637
+ #sourcey .godoc-toc h4 {
1638
+ margin: 0 0 0.5rem;
1639
+ font-size: 0.6875rem;
1640
+ font-weight: 700;
1641
+ text-transform: uppercase;
1642
+ letter-spacing: 0.04em;
1643
+ color: rgb(var(--color-gray-500));
1644
+ }
1645
+
1646
+ #sourcey .godoc-toc ul {
1647
+ list-style: none;
1648
+ margin: 0;
1649
+ padding: 0;
1650
+ font-size: 0.8125rem;
1651
+ }
1652
+
1653
+ #sourcey .godoc-toc li {
1654
+ margin: 0.125rem 0;
1655
+ }
1656
+
1657
+ #sourcey .godoc-toc li.godoc-toc-sub {
1658
+ padding-left: 1rem;
1659
+ font-family: var(--font-mono);
1660
+ font-size: 0.75rem;
1661
+ color: rgb(var(--color-gray-600));
1662
+ }
1663
+
1664
+ #sourcey .godoc-toc a {
1665
+ color: inherit;
1666
+ text-decoration: none;
1667
+ border-bottom: 1px dotted transparent;
1668
+ }
1669
+
1670
+ #sourcey .godoc-toc a:hover {
1671
+ color: rgb(var(--color-primary));
1672
+ border-bottom-color: currentColor;
1673
+ }
1674
+
1675
+ #sourcey .godoc-symbol {
1676
+ font-family: var(--font-mono);
1677
+ font-size: 0.95rem;
1678
+ font-weight: 600;
1679
+ margin: 1.75rem 0 0.5rem;
1680
+ color: rgb(var(--color-gray-900));
1681
+ scroll-margin-top: 5rem;
1682
+ }
1683
+
1684
+ #sourcey .godoc-doc {
1685
+ margin: 0.5rem 0 0.75rem;
1686
+ color: rgb(var(--color-gray-700));
1687
+ font-size: 0.9375rem;
1688
+ line-height: 1.65;
1689
+ }
1690
+
1691
+ #sourcey .godoc-doc p:first-child {
1692
+ margin-top: 0;
1693
+ }
1694
+
1695
+ #sourcey .godoc-doc p:last-child {
1696
+ margin-bottom: 0;
1697
+ }
1698
+
1699
+ #sourcey .godoc-value,
1700
+ #sourcey .godoc-func,
1701
+ #sourcey .godoc-type {
1702
+ margin: 1rem 0 1.5rem;
1703
+ scroll-margin-top: 5rem;
1704
+ }
1705
+
1706
+ #sourcey .godoc-type {
1707
+ border-top: 1px solid rgb(var(--color-gray-200));
1708
+ padding-top: 1.25rem;
1709
+ margin-top: 2rem;
1710
+ }
1711
+
1712
+ #sourcey .godoc-anchor {
1713
+ display: block;
1714
+ height: 0;
1715
+ scroll-margin-top: 5rem;
1716
+ }
1717
+
1718
+ #sourcey .godoc-fields {
1719
+ margin: 0.75rem 0 1rem;
1720
+ padding: 0;
1721
+ border: 1px solid rgb(var(--color-gray-200));
1722
+ border-radius: 6px;
1723
+ background: rgba(var(--color-gray-50), 0.4);
1724
+ }
1725
+
1726
+ #sourcey .godoc-fields > summary {
1727
+ cursor: pointer;
1728
+ padding: 0.5rem 0.875rem;
1729
+ font-size: 0.75rem;
1730
+ font-weight: 600;
1731
+ text-transform: uppercase;
1732
+ letter-spacing: 0.04em;
1733
+ color: rgb(var(--color-gray-600));
1734
+ list-style: none;
1735
+ }
1736
+
1737
+ #sourcey .godoc-fields > summary::-webkit-details-marker {
1738
+ display: none;
1739
+ }
1740
+
1741
+ #sourcey .godoc-fields > ul {
1742
+ list-style: none;
1743
+ margin: 0;
1744
+ padding: 0;
1745
+ border-top: 1px solid rgb(var(--color-gray-200));
1746
+ }
1747
+
1748
+ #sourcey .godoc-field {
1749
+ padding: 0.625rem 0.875rem;
1750
+ border-bottom: 1px solid rgb(var(--color-gray-200));
1751
+ font-size: 0.875rem;
1752
+ }
1753
+
1754
+ #sourcey .godoc-field:last-child {
1755
+ border-bottom: none;
1756
+ }
1757
+
1758
+ #sourcey .godoc-field-sig {
1759
+ font-family: var(--font-mono);
1760
+ font-size: 0.8125rem;
1761
+ font-weight: 600;
1762
+ color: rgb(var(--color-gray-900));
1763
+ background: transparent;
1764
+ padding: 0;
1765
+ }
1766
+
1767
+ #sourcey .godoc-field-type {
1768
+ font-weight: 400;
1769
+ color: rgb(var(--color-gray-700));
1770
+ }
1771
+
1772
+ #sourcey .godoc-tag {
1773
+ font-family: var(--font-mono);
1774
+ font-size: 0.75rem;
1775
+ color: rgb(var(--color-gray-500));
1776
+ background: transparent;
1777
+ padding: 0;
1778
+ margin-left: 0.5rem;
1779
+ }
1780
+
1781
+ #sourcey .godoc-field-doc {
1782
+ margin-top: 0.25rem;
1783
+ font-size: 0.8125rem;
1784
+ color: rgb(var(--color-gray-600));
1785
+ line-height: 1.55;
1786
+ }
1787
+
1788
+ #sourcey .godoc-example {
1789
+ margin: 0.75rem 0 1.25rem;
1790
+ padding: 0;
1791
+ border: 1px solid rgb(var(--color-gray-200));
1792
+ border-radius: 6px;
1793
+ background: rgba(var(--color-gray-50), 0.4);
1794
+ }
1795
+
1796
+ #sourcey .godoc-example > summary {
1797
+ cursor: pointer;
1798
+ padding: 0.5rem 0.875rem;
1799
+ font-size: 0.75rem;
1800
+ font-weight: 600;
1801
+ text-transform: uppercase;
1802
+ letter-spacing: 0.04em;
1803
+ color: rgb(var(--color-gray-600));
1804
+ list-style: none;
1805
+ }
1806
+
1807
+ #sourcey .godoc-example > summary::-webkit-details-marker {
1808
+ display: none;
1809
+ }
1810
+
1811
+ #sourcey .godoc-example > summary::before {
1812
+ content: "▸ ";
1813
+ color: rgb(var(--color-gray-400));
1814
+ margin-right: 0.25rem;
1815
+ }
1816
+
1817
+ #sourcey .godoc-example[open] > summary::before {
1818
+ content: "▾ ";
1819
+ }
1820
+
1821
+ #sourcey .godoc-example > pre,
1822
+ #sourcey .godoc-example > .godoc-doc,
1823
+ #sourcey .godoc-example > p {
1824
+ margin: 0.5rem 0.875rem;
1825
+ }
1826
+
1827
+ #sourcey .godoc-example-output-label {
1828
+ margin: 0.5rem 0.875rem 0;
1829
+ font-size: 0.6875rem;
1830
+ font-weight: 700;
1831
+ text-transform: uppercase;
1832
+ letter-spacing: 0.04em;
1833
+ color: rgb(var(--color-gray-500));
1834
+ }
1835
+
1836
+ #sourcey .godoc-func .godoc-symbol,
1837
+ #sourcey .godoc-type .godoc-symbol {
1838
+ word-break: break-word;
1839
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sourcey",
3
- "version": "3.5.1",
4
- "description": "Precision documentation from OpenAPI, MCP, Doxygen, and Markdown. Static HTML you own.",
3
+ "version": "3.5.2",
4
+ "description": "Precision documentation from OpenAPI, MCP, Doxygen, godoc, and Markdown. Static HTML you own.",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "node": ">=20"
@@ -20,13 +20,15 @@
20
20
  "LICENSE"
21
21
  ],
22
22
  "scripts": {
23
- "build": "tsc && cp -r src/themes dist/ && cp src/client/*.js dist/client/ && cp -r src/og/fonts dist/og/",
23
+ "build": "tsc && cp -r src/themes dist/ && cp src/client/*.js dist/client/ && cp -r src/og/fonts dist/og/ && rm -rf dist/core/sourcey-godoc dist/core/godoc-introspect && mkdir -p dist/core/sourcey-godoc && cp -R go/sourcey-godoc/go.mod go/sourcey-godoc/doc.go go/sourcey-godoc/cmd dist/core/sourcey-godoc/",
24
24
  "watch": "npm run build && tsc --watch --preserveWatchOutput",
25
25
  "test": "vitest run",
26
26
  "test:watch": "vitest",
27
27
  "lint": "eslint src/ test/",
28
28
  "lint:fix": "eslint src/ test/ --fix",
29
29
  "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
30
+ "godoc:go:test": "cd go/sourcey-godoc && go test ./...",
31
+ "godoc:go:vet": "cd go/sourcey-godoc && go vet ./...",
30
32
  "typecheck": "tsc --noEmit",
31
33
  "prepublishOnly": "npm run build"
32
34
  },
@@ -72,7 +74,14 @@
72
74
  "markdown",
73
75
  "api-docs",
74
76
  "developer-documentation",
75
- "doxygen"
77
+ "doxygen",
78
+ "godoc",
79
+ "golang",
80
+ "go-docs",
81
+ "go-documentation",
82
+ "mcp",
83
+ "llms-txt",
84
+ "static-docs"
76
85
  ],
77
86
  "funding": {
78
87
  "url": "https://sourcey.com"