pacifio/atlas
Source control for agents. Use multiple coding agents, track their changes and query them in one place
Rust★ 4,712+91 that day#6 on trending
2.03%duplicated code · 4,650 of 229,360 lines
380clones in code
794code files of 1,024 scanned
5.77%duplicated over all files · 776 clones
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 1 generated file: crates/atlas-redact/src/vendor_rules.rs.
Largest clones in the code
- 183 lines in 2 placestsx1,172 tokenssrc/features/knowledge/components/knowledge-graph.tsx:533–715src/features/memory/components/memory-graph-canvas.tsx:519–682
533 }; 534}); 535 536// ── Viewport pan / zoom ────────────────────────────────────── 537// Two pan paths: 538// • Middle / right-click drag — goes through pointer events. 539// • Space + left-click drag — flips into a hard "pan mode" that 540// removes Matter's MouseConstraint and disables Pixi interaction 541// for the duration, then restores both on release. 542let panStart: { startX: number; startY: number; origX: number; origY: number } | null = null;519 sceneRef.current = { ...sceneRef.current, draggingId: null, draggingNeighbors: new Set() }; 520}); 521 522let panStart: { startX: number; startY: number; origX: number; origY: number } | null = null; 523let panMode = false; 524let panOrigin: { startX: number; startY: number; origX: number; origY: number } | null = null; 525let spaceHeld = false; 526const stageEventMode = app.stage.eventMode; 527const canvas = app.canvas as HTMLCanvasElement; 528First 10 of 183 lines, the second copy on the right.
- 7 lines in 13 placestsx52 tokens.design-sync/previews/ContextMenuCheckboxItem.tsx:49–55.design-sync/previews/ContextMenuContent.tsx:49–55.design-sync/previews/ContextMenuItem.tsx:49–55.design-sync/previews/ContextMenuItem.tsx:69–75.design-sync/previews/ContextMenuLabel.tsx:49–55and 8 more
49export const CheckedAndUnchecked = () => { 50 const ref = useOpenAt(60, 13); 51 return ( 52 <div style={{ height: 200 }}> 53 <ContextMenu> 54 <ContextMenuTrigger asChild> 55 <div ref={ref} style={targetStyle}> - 118 lines in 2 placestsx489 tokenssrc/features/knowledge/components/knowledge-graph.tsx:245–362src/features/memory/components/memory-graph-canvas.tsx:251–358
245}, [selectedId, graph.edges]); 246 247// Esc deselects (mirrors the "click empty area" affordance). 248useEffect(() => { 249 const handler = (e: KeyboardEvent) => { 250 if (e.key === "Escape" && selectedId !== null) onSelect(null); 251 }; 252 window.addEventListener("keydown", handler); 253 return () => window.removeEventListener("keydown", handler); 254}, [selectedId, onSelect]);251}, [cutoffMs]); 252 253useEffect(() => { 254 const handler = (e: KeyboardEvent) => { 255 if (e.key === "Escape" && selectedId !== null) onSelect(null); 256 }; 257 window.addEventListener("keydown", handler); 258 return () => window.removeEventListener("keydown", handler); 259}, [selectedId, onSelect]); 260First 10 of 118 lines, the second copy on the right.
7 more
- 43 lines in 4 placestsx159 tokens
- 39 lines in 2 placesrust452 tokens
- 51 lines in 2 placestsx424 tokens
- 48 lines in 2 placestsx393 tokens
- 26 lines in 4 placestsx109 tokens
- 9 lines in 4 placesrust100 tokens
- 25 lines in 4 placestsx97 tokens
Largest clones over all files, tests and data included
- 2831 lines in 4 placesjsondata files8,243 tokenssrc-tauri/gen/schemas/desktop-schema.json:1–2831src-tauri/gen/schemas/linux-schema.json:1–2795src-tauri/gen/schemas/macOS-schema.json:1–2831src-tauri/gen/schemas/windows-schema.json:1–2831
1{ 2 "$schema": "http://json-schema.org/draft-07/schema#", 3 "title": "CapabilityFile", 4 "description": "Capability formats accepted in a capability file.", 5 "anyOf": [ 6 { 7 "description": "A single capability.", 8 "allOf": [ 9 { 10 "$ref": "#/definitions/Capability"First 10 of 2831 lines.
- 183 lines in 2 placestsx1,172 tokenssrc/features/knowledge/components/knowledge-graph.tsx:533–715src/features/memory/components/memory-graph-canvas.tsx:519–682
533 }; 534}); 535 536// ── Viewport pan / zoom ────────────────────────────────────── 537// Two pan paths: 538// • Middle / right-click drag — goes through pointer events. 539// • Space + left-click drag — flips into a hard "pan mode" that 540// removes Matter's MouseConstraint and disables Pixi interaction 541// for the duration, then restores both on release. 542let panStart: { startX: number; startY: number; origX: number; origY: number } | null = null;519 sceneRef.current = { ...sceneRef.current, draggingId: null, draggingNeighbors: new Set() }; 520}); 521 522let panStart: { startX: number; startY: number; origX: number; origY: number } | null = null; 523let panMode = false; 524let panOrigin: { startX: number; startY: number; origX: number; origY: number } | null = null; 525let spaceHeld = false; 526const stageEventMode = app.stage.eventMode; 527const canvas = app.canvas as HTMLCanvasElement; 528First 10 of 183 lines, the second copy on the right.
- 8 lines in 14 placesrusttests59 tokenscrates/atlas-checkpoint/tests/capture.rs:46–53crates/atlas-checkpoint/tests/capture.rs:84–91crates/atlas-checkpoint/tests/capture.rs:149–155crates/atlas-checkpoint/tests/capture.rs:162–168crates/atlas-checkpoint/tests/capture.rs:183–189and 9 more
46fn a_session_with_several_turns_produces_one_session_and_one_message_per_turn() { 47 let dir = tempfile::tempdir().unwrap(); 48 let mut store = store_in(dir.path()); 49 let mut capture = Capture::new(&mut store, WorkspaceMode::Local); 50 51 let session_id = capture 52 .record_prompt( 53 &key("sess-1"),84fn the_session_row_carries_its_identifying_facts() { 85 let dir = tempfile::tempdir().unwrap(); 86 let mut store = store_in(dir.path()); 87 let mut capture = Capture::new(&mut store, WorkspaceMode::Local); 88 89 let session_id = capture 90 .record_prompt( 91 &key("sess-abc"), - 6 lines in 15 placesrusttests52 tokens
- 7 lines in 13 placestsx52 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| rust | 224 | 106,018 | 211 | 1,924 | 1.81% |
| tsx | 281 | 76,171 | 140 | 2,370 | 3.11% |
| typescript | 266 | 40,777 | 23 | 245 | 0.6% |
| bash | 17 | 5,736 | 6 | 111 | 1.94% |
| javascript | 4 | 293 | 0 | 0 | 0% |
| python | 1 | 191 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| rust | 274 | 133,154 | 516 | 4,908 | 3.69% |
| tsx | 291 | 77,746 | 141 | 2,388 | 3.07% |
| typescript | 348 | 51,141 | 49 | 706 | 1.38% |
| markup | 4 | 4,840 | 43 | 344 | 7.11% |
| css | 7 | 4,268 | 16 | 132 | 3.09% |
| bash | 19 | 5,787 | 6 | 111 | 1.92% |
| json | 12 | 11,795 | 5 | 8,589 | 72.82% |
| markdown | 30 | 5,304 | 0 | 0 | 0% |
| toml | 22 | 2,245 | 0 | 0 | 0% |
| yaml | 5 | 468 | 0 | 0 | 0% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Sep 16, 2026 | #6 | 4,712 (+91) | 1,024 | 297,621 | 776 | 5.77% | 2.03% | — | 81e6384 |
| Sep 3, 2026 | #7 | 3,011 (+888) | 804 | 239,520 | 595 | 5.12% | 1.82% | — | 342ee3e |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.