Skip to content

Commit 8b598f9

Browse files
committed
init: project scaffolding
0 parents  commit 8b598f9

52 files changed

Lines changed: 4420 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github: koistya

.gitignore

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# dependencies
2+
node_modules
3+
4+
# output
5+
.vitepress/dist
6+
.vitepress/cache
7+
dist
8+
.srcpack
9+
*.tgz
10+
11+
# coverage
12+
coverage
13+
14+
# logs
15+
*.log
16+
17+
# env
18+
.env
19+
.env*.local
20+
21+
# local overrides
22+
*.local.md
23+
24+
# caches
25+
.cache
26+
*.tsbuildinfo
27+
28+
# IDE/OS
29+
.idea
30+
.DS_Store

.vitepress/config.ts

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
import { defineConfig } from "vitepress";
2+
3+
// https://vitepress.dev/reference/site-config
4+
export default defineConfig({
5+
srcDir: "docs",
6+
srcExclude: ["**/*.local.md"],
7+
cleanUrls: true,
8+
lastUpdated: true,
9+
metaChunk: true,
10+
base: "/srcpack/",
11+
12+
lang: "en-US",
13+
title: "Srcpack",
14+
description: "Context bundler for LLM work",
15+
16+
head: [
17+
["link", { rel: "icon", href: "/srcpack/favicon.ico" }],
18+
["meta", { name: "theme-color", content: "#5f67ee" }],
19+
["meta", { name: "og:type", content: "website" }],
20+
["meta", { name: "og:site_name", content: "Srcpack" }],
21+
],
22+
23+
sitemap: {
24+
hostname: "https://kriasoft.com/srcpack/",
25+
},
26+
27+
themeConfig: {
28+
logo: "/logo.svg",
29+
30+
nav: [
31+
{ text: "Home", link: "/" },
32+
{ text: "Guide", link: "/guide/getting-started" },
33+
],
34+
35+
sidebar: [
36+
{
37+
text: "Guide",
38+
items: [{ text: "Getting Started", link: "/guide/getting-started" }],
39+
},
40+
],
41+
42+
outline: {
43+
level: [2, 3],
44+
},
45+
46+
search: {
47+
provider: "local",
48+
},
49+
50+
editLink: {
51+
pattern: "https://github.com/kriasoft/srcpack/edit/main/docs/:path",
52+
text: "Edit this page on GitHub",
53+
},
54+
55+
lastUpdated: {
56+
text: "Last updated",
57+
},
58+
59+
socialLinks: [
60+
{ icon: "github", link: "https://github.com/kriasoft/srcpack" },
61+
],
62+
63+
footer: {
64+
message: "Released under the MIT License.",
65+
},
66+
},
67+
68+
vite: {
69+
publicDir: "../.vitepress/public",
70+
},
71+
});

.vitepress/public/CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
kriasoft.com

.vitepress/public/logo.svg

Lines changed: 7 additions & 0 deletions
Loading
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
<script setup lang="ts">
2+
const beforeItems = [
3+
"Dump entire repo into prompt",
4+
"Hit context limits",
5+
"Get vague or wrong answers",
6+
"Repeat yourself constantly",
7+
];
8+
9+
const afterItems = [
10+
"Bundle relevant code by domain",
11+
"Include file index with line numbers",
12+
"Get precise, referenced answers",
13+
"Share context once, ask many times",
14+
];
15+
</script>
16+
17+
<template>
18+
<section class="home-before-after">
19+
<h2 class="home-before-after__title">Before & After</h2>
20+
<div class="home-before-after__grid">
21+
<div class="home-before-after__column home-before-after__column--before">
22+
<h3 class="home-before-after__heading">
23+
<span class="home-before-after__badge home-before-after__badge--before">Before</span>
24+
</h3>
25+
<ul class="home-before-after__list">
26+
<li v-for="item in beforeItems" :key="item" class="home-before-after__item">
27+
<span class="home-before-after__x">✕</span>
28+
{{ item }}
29+
</li>
30+
</ul>
31+
</div>
32+
<div class="home-before-after__column home-before-after__column--after">
33+
<h3 class="home-before-after__heading">
34+
<span class="home-before-after__badge home-before-after__badge--after">After</span>
35+
</h3>
36+
<ul class="home-before-after__list">
37+
<li v-for="item in afterItems" :key="item" class="home-before-after__item">
38+
<span class="home-before-after__check">✓</span>
39+
{{ item }}
40+
</li>
41+
</ul>
42+
</div>
43+
</div>
44+
</section>
45+
</template>
46+
47+
<style scoped>
48+
.home-before-after {
49+
padding: 64px 0;
50+
text-align: center;
51+
}
52+
53+
.home-before-after__title {
54+
font-size: 32px;
55+
font-weight: 700;
56+
line-height: 1.2;
57+
margin: 0 0 40px;
58+
}
59+
60+
.home-before-after__grid {
61+
display: grid;
62+
grid-template-columns: 1fr;
63+
gap: 24px;
64+
}
65+
66+
@media (min-width: 640px) {
67+
.home-before-after__grid {
68+
grid-template-columns: repeat(2, 1fr);
69+
}
70+
}
71+
72+
.home-before-after__column {
73+
padding: 24px;
74+
border-radius: 12px;
75+
text-align: left;
76+
}
77+
78+
.home-before-after__column--before {
79+
background: var(--vp-c-danger-soft);
80+
}
81+
82+
.home-before-after__column--after {
83+
background: var(--vp-c-brand-soft);
84+
}
85+
86+
.home-before-after__heading {
87+
margin: 0 0 16px;
88+
}
89+
90+
.home-before-after__badge {
91+
display: inline-block;
92+
padding: 4px 12px;
93+
border-radius: 6px;
94+
font-size: 14px;
95+
font-weight: 600;
96+
}
97+
98+
.home-before-after__badge--before {
99+
background: var(--vp-c-danger-3);
100+
color: var(--vp-c-white);
101+
}
102+
103+
.home-before-after__badge--after {
104+
background: var(--vp-c-brand-3);
105+
color: var(--vp-c-white);
106+
}
107+
108+
.home-before-after__list {
109+
list-style: none;
110+
padding: 0;
111+
margin: 0;
112+
}
113+
114+
.home-before-after__item {
115+
display: flex;
116+
align-items: flex-start;
117+
gap: 8px;
118+
padding: 8px 0;
119+
font-size: 15px;
120+
line-height: 1.4;
121+
}
122+
123+
.home-before-after__x {
124+
color: var(--vp-c-danger-1);
125+
font-weight: 700;
126+
flex-shrink: 0;
127+
}
128+
129+
.home-before-after__check {
130+
color: var(--vp-c-brand-1);
131+
font-weight: 700;
132+
flex-shrink: 0;
133+
}
134+
</style>
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
<script setup lang="ts">
2+
import { ref } from "vue";
3+
4+
const copied = ref(false);
5+
const command = "npx srcpack";
6+
7+
function copyCommand() {
8+
navigator.clipboard.writeText(command);
9+
copied.value = true;
10+
setTimeout(() => {
11+
copied.value = false;
12+
}, 2000);
13+
}
14+
</script>
15+
16+
<template>
17+
<section class="home-cta">
18+
<h2 class="home-cta__title">Ready to try?</h2>
19+
<p class="home-cta__subtitle">
20+
Run a single command. Zero configuration required.
21+
</p>
22+
<div class="home-cta__command" @click="copyCommand">
23+
<code class="home-cta__code">{{ command }}</code>
24+
<button class="home-cta__copy" :class="{ 'home-cta__copy--copied': copied }">
25+
<span v-if="copied">Copied!</span>
26+
<span v-else>Copy</span>
27+
</button>
28+
</div>
29+
<div class="home-cta__actions">
30+
<a href="/srcpack/guide/getting-started" class="home-cta__button home-cta__button--primary">
31+
Read the Docs
32+
</a>
33+
<a href="https://github.com/kriasoft/srcpack" class="home-cta__button home-cta__button--secondary">
34+
View on GitHub
35+
</a>
36+
</div>
37+
</section>
38+
</template>
39+
40+
<style scoped>
41+
.home-cta {
42+
padding: 64px 0 96px;
43+
text-align: center;
44+
}
45+
46+
.home-cta__title {
47+
font-size: 32px;
48+
font-weight: 700;
49+
line-height: 1.2;
50+
margin: 0 0 8px;
51+
}
52+
53+
.home-cta__subtitle {
54+
font-size: 18px;
55+
color: var(--vp-c-text-2);
56+
margin: 0 0 32px;
57+
}
58+
59+
.home-cta__command {
60+
display: inline-flex;
61+
align-items: center;
62+
gap: 16px;
63+
padding: 12px 16px 12px 24px;
64+
background: var(--vp-c-bg-soft);
65+
border-radius: 8px;
66+
cursor: pointer;
67+
transition: background 0.2s;
68+
}
69+
70+
.home-cta__command:hover {
71+
background: var(--vp-c-bg-alt);
72+
}
73+
74+
.home-cta__code {
75+
font-family: var(--vp-font-family-mono);
76+
font-size: 16px;
77+
color: var(--vp-c-brand-1);
78+
}
79+
80+
.home-cta__copy {
81+
padding: 6px 12px;
82+
background: var(--vp-c-brand-3);
83+
color: var(--vp-c-white);
84+
border: none;
85+
border-radius: 6px;
86+
font-size: 13px;
87+
font-weight: 500;
88+
cursor: pointer;
89+
transition: background 0.2s;
90+
}
91+
92+
.home-cta__copy:hover {
93+
background: var(--vp-c-brand-2);
94+
}
95+
96+
.home-cta__copy--copied {
97+
background: var(--vp-c-green-3);
98+
}
99+
100+
.home-cta__actions {
101+
display: flex;
102+
justify-content: center;
103+
gap: 16px;
104+
margin-top: 32px;
105+
flex-wrap: wrap;
106+
}
107+
108+
.home-cta__button {
109+
display: inline-block;
110+
padding: 12px 24px;
111+
border-radius: 8px;
112+
font-size: 15px;
113+
font-weight: 600;
114+
text-decoration: none;
115+
transition: all 0.2s;
116+
}
117+
118+
.home-cta__button--primary {
119+
background: var(--vp-c-brand-3);
120+
color: var(--vp-c-white);
121+
}
122+
123+
.home-cta__button--primary:hover {
124+
background: var(--vp-c-brand-2);
125+
}
126+
127+
.home-cta__button--secondary {
128+
background: var(--vp-c-bg-soft);
129+
color: var(--vp-c-text-1);
130+
}
131+
132+
.home-cta__button--secondary:hover {
133+
background: var(--vp-c-bg-alt);
134+
}
135+
</style>

0 commit comments

Comments
 (0)