@zoebuildsai/trace 1.5.0
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.
- package/.gitignore +115 -0
- package/.trace/progress.json +22 -0
- package/README.md +466 -0
- package/RELEASE-NOTES-1.5.0.md +410 -0
- package/STATUS.md +245 -0
- package/dist/auto-commit.d.ts +66 -0
- package/dist/auto-commit.d.ts.map +1 -0
- package/dist/auto-commit.js +180 -0
- package/dist/auto-commit.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +246 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands.d.ts +46 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +256 -0
- package/dist/commands.js.map +1 -0
- package/dist/diff.d.ts +23 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +106 -0
- package/dist/diff.js.map +1 -0
- package/dist/github.d.ts.map +1 -0
- package/dist/github.js.map +1 -0
- package/dist/index-cache.d.ts +35 -0
- package/dist/index-cache.d.ts.map +1 -0
- package/dist/index-cache.js +114 -0
- package/dist/index-cache.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/storage.d.ts +45 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +151 -0
- package/dist/storage.js.map +1 -0
- package/dist/sync.d.ts +60 -0
- package/dist/sync.js +184 -0
- package/dist/tags.d.ts +85 -0
- package/dist/tags.d.ts.map +1 -0
- package/dist/tags.js +219 -0
- package/dist/tags.js.map +1 -0
- package/dist/types.d.ts +102 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/docs/.nojekyll +0 -0
- package/docs/README.md +73 -0
- package/docs/_config.yml +2 -0
- package/docs/index.html +960 -0
- package/docs-website/package.json +20 -0
- package/jest.config.js +21 -0
- package/package.json +50 -0
- package/scripts/init.ts +290 -0
- package/src/agent-audit.ts +270 -0
- package/src/agent-checkout.ts +227 -0
- package/src/agent-coordination.ts +318 -0
- package/src/async-queue.ts +203 -0
- package/src/auto-branching.ts +279 -0
- package/src/auto-commit.ts +166 -0
- package/src/cherry-pick.ts +252 -0
- package/src/chunked-upload.ts +224 -0
- package/src/cli-v2.ts +335 -0
- package/src/cli.ts +318 -0
- package/src/cliff-detection.ts +232 -0
- package/src/commands.ts +267 -0
- package/src/commit-hash-system.ts +351 -0
- package/src/compression.ts +176 -0
- package/src/conflict-resolution-ui.ts +277 -0
- package/src/conflict-visualization.ts +238 -0
- package/src/diff-formatter.ts +184 -0
- package/src/diff.ts +124 -0
- package/src/distributed-coordination.ts +273 -0
- package/src/git-interop.ts +316 -0
- package/src/index-cache.ts +88 -0
- package/src/index.ts +38 -0
- package/src/merge-engine.ts +143 -0
- package/src/message-search.ts +370 -0
- package/src/performance-monitoring.ts +236 -0
- package/src/rebase.ts +327 -0
- package/src/rollback.ts +215 -0
- package/src/semantic-grouping.ts +245 -0
- package/src/stage-area.ts +324 -0
- package/src/stash.ts +278 -0
- package/src/storage.ts +131 -0
- package/src/sync.ts +205 -0
- package/src/tags.ts +244 -0
- package/src/types.ts +119 -0
- package/src/webhooks.ts +119 -0
- package/src/workspace-isolation.ts +298 -0
- package/tests/auto-commit.test.ts +308 -0
- package/tests/checkout.test.ts +136 -0
- package/tests/commit.test.ts +118 -0
- package/tests/diff.test.ts +191 -0
- package/tests/github.test.ts +94 -0
- package/tests/integration.test.ts +267 -0
- package/tests/log.test.ts +125 -0
- package/tests/phase2-integration.test.ts +370 -0
- package/tests/storage.test.ts +167 -0
- package/tests/tags.test.ts +477 -0
- package/tests/types.test.ts +75 -0
- package/tests/v1.1/agent-audit.test.ts +472 -0
- package/tests/v1.1/agent-coordination.test.ts +308 -0
- package/tests/v1.1/async-queue.test.ts +253 -0
- package/tests/v1.1/comprehensive.test.ts +521 -0
- package/tests/v1.1/diff-formatter.test.ts +238 -0
- package/tests/v1.1/integration.test.ts +389 -0
- package/tests/v1.1/onboarding.test.ts +365 -0
- package/tests/v1.1/rollback.test.ts +370 -0
- package/tests/v1.1/semantic-grouping.test.ts +230 -0
- package/tests/v1.2/chunked-upload.test.ts +301 -0
- package/tests/v1.2/cliff-detection.test.ts +272 -0
- package/tests/v1.2/commit-hash-system.test.ts +288 -0
- package/tests/v1.2/compression.test.ts +220 -0
- package/tests/v1.2/conflict-visualization.test.ts +263 -0
- package/tests/v1.2/distributed.test.ts +261 -0
- package/tests/v1.2/performance-monitoring.test.ts +328 -0
- package/tests/v1.3/auto-branching.test.ts +270 -0
- package/tests/v1.3/message-search.test.ts +264 -0
- package/tests/v1.3/stage-area.test.ts +330 -0
- package/tests/v1.3/stash-rebase-cherry-pick.test.ts +361 -0
- package/tests/v1.4/cli.test.ts +171 -0
- package/tests/v1.4/conflict-resolution-advanced.test.ts +429 -0
- package/tests/v1.4/conflict-resolution-ui.test.ts +286 -0
- package/tests/v1.4/workspace-isolation-advanced.test.ts +382 -0
- package/tests/v1.4/workspace-isolation.test.ts +268 -0
- package/tests/v1.5/agent-coordination.real.test.ts +401 -0
- package/tests/v1.5/cli-v2.test.ts +354 -0
- package/tests/v1.5/git-interop.real.test.ts +358 -0
- package/tests/v1.5/integration-testing.real.test.ts +440 -0
- package/tsconfig.json +26 -0
package/dist/tags.js
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tags Feature
|
|
4
|
+
*
|
|
5
|
+
* Create, list, delete, and checkout to semantic tags.
|
|
6
|
+
* - Store tags in refs/tags/
|
|
7
|
+
* - Tag metadata (created_at, description, creator)
|
|
8
|
+
* - Fast tag index for <50ms lookups
|
|
9
|
+
* - Unicode and special character support
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.TagManager = void 0;
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
class TagManager {
|
|
49
|
+
constructor(commands, basePath) {
|
|
50
|
+
this.tagIndex = new Map();
|
|
51
|
+
this.indexValid = false;
|
|
52
|
+
this.commands = commands;
|
|
53
|
+
// Derive tags directory from memory-git base path
|
|
54
|
+
const baseDir = basePath || path.join(process.env.HOME || '', '.openclaw/memory-git');
|
|
55
|
+
this.tagsDir = path.join(baseDir, 'refs', 'tags');
|
|
56
|
+
this.ensureTagsDir();
|
|
57
|
+
this.rebuildIndex();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create a new tag at current HEAD
|
|
61
|
+
*/
|
|
62
|
+
create(name, options = {}) {
|
|
63
|
+
this.validateTagName(name);
|
|
64
|
+
// Check if tag exists
|
|
65
|
+
if (this.tagIndex.has(name) && !options.force) {
|
|
66
|
+
throw new Error(`Tag '${name}' already exists. Use force: true to override.`);
|
|
67
|
+
}
|
|
68
|
+
// Get current HEAD commit
|
|
69
|
+
const log = this.commands.log(1);
|
|
70
|
+
if (log.length === 0) {
|
|
71
|
+
throw new Error('No commits to tag');
|
|
72
|
+
}
|
|
73
|
+
const commitHash = log[0].hash;
|
|
74
|
+
const now = Date.now();
|
|
75
|
+
// Filter options to extract metadata (skip 'force')
|
|
76
|
+
const metaEntries = Object.entries(options)
|
|
77
|
+
.filter(([k]) => k !== 'force');
|
|
78
|
+
const tag = {
|
|
79
|
+
name,
|
|
80
|
+
commit_hash: commitHash,
|
|
81
|
+
created_at: now,
|
|
82
|
+
metadata: metaEntries.length > 0 ? Object.fromEntries(metaEntries) : undefined,
|
|
83
|
+
};
|
|
84
|
+
// Save tag
|
|
85
|
+
this.saveTag(tag);
|
|
86
|
+
// Update index
|
|
87
|
+
this.tagIndex.set(name, tag);
|
|
88
|
+
return tag;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get a tag by name
|
|
92
|
+
*/
|
|
93
|
+
get(name) {
|
|
94
|
+
this.ensureIndexValid();
|
|
95
|
+
return this.tagIndex.get(name);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* List all tags
|
|
99
|
+
*/
|
|
100
|
+
list(options = {}) {
|
|
101
|
+
this.ensureIndexValid();
|
|
102
|
+
let tags = Array.from(this.tagIndex.values());
|
|
103
|
+
// Filter by pattern if provided
|
|
104
|
+
if (options.pattern) {
|
|
105
|
+
const regex = this.patternToRegex(options.pattern);
|
|
106
|
+
tags = tags.filter(t => regex.test(t.name));
|
|
107
|
+
}
|
|
108
|
+
// Sort
|
|
109
|
+
if (options.sortBy === 'name') {
|
|
110
|
+
tags.sort((a, b) => a.name.localeCompare(b.name));
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
tags.sort((a, b) => a.created_at - b.created_at);
|
|
114
|
+
}
|
|
115
|
+
return tags;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Delete a tag
|
|
119
|
+
*/
|
|
120
|
+
delete(name) {
|
|
121
|
+
if (!this.tagIndex.has(name)) {
|
|
122
|
+
throw new Error(`Tag '${name}' not found`);
|
|
123
|
+
}
|
|
124
|
+
const tagPath = this.getTagPath(name);
|
|
125
|
+
fs.unlinkSync(tagPath);
|
|
126
|
+
this.tagIndex.delete(name);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Checkout to a tagged commit
|
|
130
|
+
*/
|
|
131
|
+
checkout(name, options = {}) {
|
|
132
|
+
const tag = this.get(name);
|
|
133
|
+
if (!tag) {
|
|
134
|
+
throw new Error(`Tag '${name}' not found`);
|
|
135
|
+
}
|
|
136
|
+
// Checkout to the commit
|
|
137
|
+
this.commands.checkout(tag.commit_hash, { force: options.force });
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Rebuild the tag index
|
|
142
|
+
*/
|
|
143
|
+
rebuildIndex() {
|
|
144
|
+
this.tagIndex.clear();
|
|
145
|
+
if (!fs.existsSync(this.tagsDir)) {
|
|
146
|
+
this.indexValid = true;
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const files = fs.readdirSync(this.tagsDir);
|
|
150
|
+
for (const file of files) {
|
|
151
|
+
try {
|
|
152
|
+
const tagPath = path.join(this.tagsDir, file);
|
|
153
|
+
const content = fs.readFileSync(tagPath, 'utf-8');
|
|
154
|
+
const tag = JSON.parse(content);
|
|
155
|
+
this.tagIndex.set(tag.name, tag);
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
// Skip corrupt tag files
|
|
159
|
+
console.warn(`Failed to load tag ${file}:`, err);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
this.indexValid = true;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Private: Ensure index is valid
|
|
166
|
+
*/
|
|
167
|
+
ensureIndexValid() {
|
|
168
|
+
if (!this.indexValid) {
|
|
169
|
+
this.rebuildIndex();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Private: Validate tag name
|
|
174
|
+
*/
|
|
175
|
+
validateTagName(name) {
|
|
176
|
+
if (!name || name.trim().length === 0) {
|
|
177
|
+
throw new Error('Tag name cannot be empty');
|
|
178
|
+
}
|
|
179
|
+
if (name.includes(' ')) {
|
|
180
|
+
throw new Error('Tag name cannot contain spaces');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Private: Ensure tags directory exists
|
|
185
|
+
*/
|
|
186
|
+
ensureTagsDir() {
|
|
187
|
+
if (!fs.existsSync(this.tagsDir)) {
|
|
188
|
+
fs.mkdirSync(this.tagsDir, { recursive: true });
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Private: Get tag file path
|
|
193
|
+
*/
|
|
194
|
+
getTagPath(name) {
|
|
195
|
+
// Escape special characters for filesystem
|
|
196
|
+
const escaped = name.replace(/[\/\\:?*"<>|]/g, '_');
|
|
197
|
+
return path.join(this.tagsDir, escaped);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Private: Save tag to disk
|
|
201
|
+
*/
|
|
202
|
+
saveTag(tag) {
|
|
203
|
+
const tagPath = this.getTagPath(tag.name);
|
|
204
|
+
const content = JSON.stringify(tag, null, 2);
|
|
205
|
+
fs.writeFileSync(tagPath, content, 'utf-8');
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Private: Convert glob pattern to regex
|
|
209
|
+
*/
|
|
210
|
+
patternToRegex(pattern) {
|
|
211
|
+
const escaped = pattern
|
|
212
|
+
.replace(/[.+^${}()|[\]\\]/g, '\\$&')
|
|
213
|
+
.replace(/\*/g, '.*')
|
|
214
|
+
.replace(/\?/g, '.');
|
|
215
|
+
return new RegExp(`^${escaped}$`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
exports.TagManager = TagManager;
|
|
219
|
+
//# sourceMappingURL=tags.js.map
|
package/dist/tags.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../src/tags.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for Memory Git system
|
|
3
|
+
*/
|
|
4
|
+
export interface CommitObject {
|
|
5
|
+
hash: string;
|
|
6
|
+
message: string;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
author: string;
|
|
9
|
+
parent: string | null;
|
|
10
|
+
tree: TreeObject;
|
|
11
|
+
metadata?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface TreeObject {
|
|
14
|
+
files: Map<string, FileEntry>;
|
|
15
|
+
hash: string;
|
|
16
|
+
}
|
|
17
|
+
export interface FileEntry {
|
|
18
|
+
path: string;
|
|
19
|
+
hash: string;
|
|
20
|
+
size: number;
|
|
21
|
+
mode: 'file' | 'deleted';
|
|
22
|
+
lastModified: number;
|
|
23
|
+
}
|
|
24
|
+
export interface DiffResult {
|
|
25
|
+
added: Map<string, string>;
|
|
26
|
+
modified: Map<string, DiffChange>;
|
|
27
|
+
deleted: Map<string, string>;
|
|
28
|
+
stats: DiffStats;
|
|
29
|
+
}
|
|
30
|
+
export interface DiffChange {
|
|
31
|
+
oldHash: string;
|
|
32
|
+
newHash: string;
|
|
33
|
+
lines?: LineDiff[];
|
|
34
|
+
}
|
|
35
|
+
export interface LineDiff {
|
|
36
|
+
type: 'add' | 'remove' | 'context';
|
|
37
|
+
content: string;
|
|
38
|
+
lineNum?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface DiffStats {
|
|
41
|
+
filesChanged: number;
|
|
42
|
+
linesAdded: number;
|
|
43
|
+
linesRemoved: number;
|
|
44
|
+
totalChanges: number;
|
|
45
|
+
}
|
|
46
|
+
export interface StatusResult {
|
|
47
|
+
modified: string[];
|
|
48
|
+
added: string[];
|
|
49
|
+
deleted: string[];
|
|
50
|
+
untracked: string[];
|
|
51
|
+
clean: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface LogEntry {
|
|
54
|
+
hash: string;
|
|
55
|
+
message: string;
|
|
56
|
+
timestamp: number;
|
|
57
|
+
author: string;
|
|
58
|
+
shortHash: string;
|
|
59
|
+
}
|
|
60
|
+
export interface CommitOptions {
|
|
61
|
+
message: string;
|
|
62
|
+
author?: string;
|
|
63
|
+
metadata?: Record<string, unknown>;
|
|
64
|
+
}
|
|
65
|
+
export interface CheckoutOptions {
|
|
66
|
+
force?: boolean;
|
|
67
|
+
specific?: string[];
|
|
68
|
+
}
|
|
69
|
+
export interface DiffOptions {
|
|
70
|
+
lines?: boolean;
|
|
71
|
+
context?: number;
|
|
72
|
+
maxSize?: number;
|
|
73
|
+
}
|
|
74
|
+
export interface IndexCache {
|
|
75
|
+
timestamp: number;
|
|
76
|
+
files: Map<string, CachedFile>;
|
|
77
|
+
currentCommit: string;
|
|
78
|
+
}
|
|
79
|
+
export interface CachedFile {
|
|
80
|
+
path: string;
|
|
81
|
+
hash: string;
|
|
82
|
+
lastSeen: number;
|
|
83
|
+
modified: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface AutoCommitMetadata {
|
|
86
|
+
auto: boolean;
|
|
87
|
+
filesChanged: number;
|
|
88
|
+
files?: string[];
|
|
89
|
+
timestamp: number;
|
|
90
|
+
}
|
|
91
|
+
export interface TagInfo {
|
|
92
|
+
name: string;
|
|
93
|
+
commit_hash: string;
|
|
94
|
+
created_at: number;
|
|
95
|
+
description?: string;
|
|
96
|
+
}
|
|
97
|
+
export interface BranchInfo {
|
|
98
|
+
name: string;
|
|
99
|
+
head: string;
|
|
100
|
+
created_at: number;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
package/docs/.nojekyll
ADDED
|
File without changes
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Trace Documentation Site
|
|
2
|
+
|
|
3
|
+
This is the documentation site for Trace v1.5.0, built with beautiful design and comprehensive guides.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
- **index.html** — Main documentation page with all content
|
|
8
|
+
- **_config.yml** — GitHub Pages configuration
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
### Design
|
|
13
|
+
- Relay-inspired color scheme (coral #FF6B6B with navy)
|
|
14
|
+
- Pixelated typography (Press Start 2P for headers)
|
|
15
|
+
- Glassmorphism cards with blur effects
|
|
16
|
+
- Smooth animations and transitions
|
|
17
|
+
- Fully responsive (mobile to desktop)
|
|
18
|
+
|
|
19
|
+
### Content
|
|
20
|
+
- Quick start guide
|
|
21
|
+
- 6 use case examples
|
|
22
|
+
- 20+ command reference
|
|
23
|
+
- 6 version history cards
|
|
24
|
+
- 7-item roadmap
|
|
25
|
+
- Feature highlights
|
|
26
|
+
|
|
27
|
+
### Technology
|
|
28
|
+
- Single HTML file (no build required)
|
|
29
|
+
- Embedded CSS and JavaScript
|
|
30
|
+
- No external dependencies
|
|
31
|
+
- GitHub Pages ready
|
|
32
|
+
|
|
33
|
+
## Enabling GitHub Pages
|
|
34
|
+
|
|
35
|
+
1. Go to: https://github.com/zoebuildsai/Trace/settings/pages
|
|
36
|
+
2. Select branch: `main`
|
|
37
|
+
3. Select folder: `/docs`
|
|
38
|
+
4. Click Save
|
|
39
|
+
|
|
40
|
+
Site will be live at: https://zoebuildsai.github.io/Trace/
|
|
41
|
+
|
|
42
|
+
## Local Preview
|
|
43
|
+
|
|
44
|
+
To preview locally, simply open `index.html` in a web browser.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
open docs/index.html # macOS
|
|
48
|
+
xdg-open docs/index.html # Linux
|
|
49
|
+
start docs/index.html # Windows
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Customization
|
|
53
|
+
|
|
54
|
+
The entire design is in `index.html`. Edit the `<style>` section to:
|
|
55
|
+
- Change colors (look for `--coral`, `--navy`, `--accent` variables)
|
|
56
|
+
- Update fonts (edit `@import` in `<head>`)
|
|
57
|
+
- Modify animations (edit `@keyframes` section)
|
|
58
|
+
- Add new sections (add `<section>` tags to HTML)
|
|
59
|
+
|
|
60
|
+
## Files Deployed
|
|
61
|
+
|
|
62
|
+
When GitHub Pages is enabled, these files are served:
|
|
63
|
+
- `index.html` — Main page
|
|
64
|
+
- `_config.yml` — Configuration (optional)
|
|
65
|
+
|
|
66
|
+
All other repository files are not served on the documentation site.
|
|
67
|
+
|
|
68
|
+
## Support
|
|
69
|
+
|
|
70
|
+
For issues or questions about Trace, visit:
|
|
71
|
+
- GitHub: https://github.com/zoebuildsai/Trace
|
|
72
|
+
- npm: https://www.npmjs.com/package/@zoebuildsai/trace
|
|
73
|
+
- GitHub Issues: https://github.com/zoebuildsai/Trace/issues
|
package/docs/_config.yml
ADDED