Skip to content

Commit 104284b

Browse files
authored
Merge pull request #5 from rubenmarcus/remove-deploy-docs
feat: improve styling
2 parents 0bb0039 + 42acd40 commit 104284b

File tree

8 files changed

+441
-52
lines changed

8 files changed

+441
-52
lines changed

docs/docs/installation.md

Lines changed: 52 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,61 @@ npx ralph-starter
2222
## Requirements
2323

2424
- **Node.js 18+** - Required for running ralph-starter
25-
- **Coding Agent** - At least one of:
26-
- [Claude Code](https://claude.ai/claude-code) (recommended)
27-
- [Cursor](https://cursor.sh/)
28-
- [Codex](https://openai.com/codex/)
29-
- [OpenCode](https://github.com/opencode-ai/opencode)
25+
- **Coding Agent** - At least one of the supported agents (see setup below)
3026
- **Git** - For version control features (`--commit`, `--push`, `--pr`)
3127
- **GitHub CLI** - For PR creation and GitHub source integration
3228

29+
## Setting Up a Coding Agent
30+
31+
ralph-starter works with several AI coding agents. You need at least one installed:
32+
33+
### Claude Code (Recommended)
34+
35+
The official Anthropic CLI for Claude.
36+
37+
```bash
38+
# Install via npm
39+
npm install -g @anthropic-ai/claude-code
40+
41+
# Authenticate
42+
claude login
43+
```
44+
45+
Claude Code offers the best integration with ralph-starter's autonomous loops.
46+
47+
### Cursor
48+
49+
AI-powered code editor with built-in agent capabilities.
50+
51+
1. Download from [cursor.sh](https://cursor.sh/)
52+
2. Install and open Cursor
53+
3. Sign in with your account
54+
4. Enable the Cursor CLI: `Cursor → Install 'cursor' command`
55+
56+
### Codex (OpenAI)
57+
58+
OpenAI's coding assistant.
59+
60+
```bash
61+
# Install the OpenAI CLI
62+
npm install -g openai
63+
64+
# Set your API key
65+
export OPENAI_API_KEY=your-key-here
66+
```
67+
68+
### OpenCode
69+
70+
Open-source alternative with multiple model support.
71+
72+
```bash
73+
# Install
74+
npm install -g opencode-ai
75+
76+
# Configure
77+
opencode setup
78+
```
79+
3380
## Verify Installation
3481

3582
```bash

docs/docusaurus.config.ts

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,7 @@ const config: Config = {
5555
editUrl: 'https://github.com/rubenmarcus/ralph-starter/tree/main/docs/',
5656
routeBasePath: 'docs',
5757
},
58-
blog: {
59-
showReadingTime: true,
60-
feedOptions: {
61-
type: ['rss', 'atom'],
62-
xslt: true,
63-
},
64-
editUrl: 'https://github.com/rubenmarcus/ralph-starter/tree/main/docs/',
65-
blogTitle: 'ralph-starter Blog',
66-
blogDescription: 'Updates and tutorials for ralph-starter',
67-
},
58+
blog: false, // Disabled for now
6859
theme: {
6960
customCss: './src/css/custom.css',
7061
},
@@ -81,7 +72,7 @@ const config: Config = {
8172
],
8273

8374
themeConfig: {
84-
image: 'img/ralph-starter-social-card.png',
75+
image: 'img/thumbnail.png',
8576
colorMode: {
8677
defaultMode: 'dark',
8778
disableSwitch: true,
@@ -109,7 +100,6 @@ const config: Config = {
109100
position: 'left',
110101
label: 'Docs',
111102
},
112-
{ to: '/blog', label: 'Blog', position: 'left' },
113103
{
114104
href: 'https://github.com/rubenmarcus/ralph-starter',
115105
label: 'GitHub',
@@ -144,7 +134,6 @@ const config: Config = {
144134
{
145135
title: 'More',
146136
items: [
147-
{ label: 'Blog', to: '/blog' },
148137
{ label: 'npm', href: 'https://www.npmjs.com/package/ralph-starter' },
149138
],
150139
},
@@ -156,7 +145,7 @@ const config: Config = {
156145
width: 130,
157146
height: 29,
158147
},
159-
copyright: `Copyright © ${new Date().getFullYear()} MultiVM Labs. All rights reserved.`,
148+
copyright: `vibecoded with love ❤️ by <a href="https://github.com/rubenmarcus" target="_blank" rel="noopener noreferrer">rubenmarcus</a>`,
160149
},
161150
prism: {
162151
theme: prismThemes.dracula,

docs/src/components/FeatureSections/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ function FeatureRow({ feature, index }: { feature: Feature; index: number }) {
190190

191191
{feature.link && (
192192
<Link to={feature.link} className={`${styles.featureLink} ${styles.animateIn} ${styles.delay4}`}>
193-
{feature.linkText}
193+
{feature.linkText}
194194
</Link>
195195
)}
196196
</div>

docs/src/components/HeroSection/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ export default function HeroSection(): React.ReactElement {
107107

108108
{/* Install command */}
109109
<div className={`${styles.installCommand} ${styles.animateIn} ${styles.delay5}`}>
110-
<code>npm install -g ralph-starter</code>
110+
<code>npx ralph-starter</code>
111111
</div>
112112
</div>
113113
</section>

docs/src/components/IntegrationShowcase/index.tsx

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,48 @@ import styles from './styles.module.css';
55

66
interface Integration {
77
name: string;
8-
icon: string;
8+
logo: string;
99
description: string;
1010
}
1111

1212
const integrations: Integration[] = [
1313
{
1414
name: 'GitHub',
15-
icon: '',
15+
logo: '/img/github logo.webp',
1616
description: 'Issues, PRs & repository files',
1717
},
1818
{
1919
name: 'Linear',
20-
icon: '',
20+
logo: '/img/linear.jpeg',
2121
description: 'Project & issue tracking',
2222
},
2323
{
2424
name: 'Notion',
25-
icon: '',
25+
logo: '/img/notion logo.png',
2626
description: 'Pages & databases',
2727
},
2828
];
2929

30+
function IntegrationCard({ integration, index }: { integration: Integration; index: number }): React.ReactElement {
31+
const logoSrc = useBaseUrl(integration.logo);
32+
return (
33+
<div
34+
className={`${styles.card} ${styles.animateIn}`}
35+
style={{ transitionDelay: `${0.2 + index * 0.1}s` }}
36+
>
37+
<img
38+
src={logoSrc}
39+
alt={integration.name}
40+
className={styles.cardLogo}
41+
/>
42+
<div className={styles.cardInfo}>
43+
<h3 className={styles.cardName}>{integration.name}</h3>
44+
<p className={styles.cardDescription}>{integration.description}</p>
45+
</div>
46+
</div>
47+
);
48+
}
49+
3050
export default function IntegrationShowcase(): React.ReactElement {
3151
const [isVisible, setIsVisible] = useState(false);
3252
const sectionRef = useRef<HTMLElement>(null);
@@ -63,17 +83,7 @@ export default function IntegrationShowcase(): React.ReactElement {
6383

6484
<div className={styles.grid}>
6585
{integrations.map((integration, index) => (
66-
<div
67-
key={integration.name}
68-
className={`${styles.card} ${styles.animateIn}`}
69-
style={{ transitionDelay: `${0.2 + index * 0.1}s` }}
70-
>
71-
<div className={styles.cardIcon}>{integration.icon}</div>
72-
<div className={styles.cardInfo}>
73-
<h3 className={styles.cardName}>{integration.name}</h3>
74-
<p className={styles.cardDescription}>{integration.description}</p>
75-
</div>
76-
</div>
86+
<IntegrationCard key={integration.name} integration={integration} index={index} />
7787
))}
7888
</div>
7989

docs/src/components/IntegrationShowcase/styles.module.css

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,14 +144,17 @@
144144
0 0 25px -10px rgba(200, 200, 205, 0.06);
145145
}
146146

147-
.cardIcon {
148-
font-size: 1.5rem;
147+
.cardLogo {
148+
width: 32px;
149+
height: 32px;
150+
object-fit: contain;
149151
flex-shrink: 0;
150-
filter: grayscale(50%);
152+
border-radius: 6px;
153+
filter: grayscale(30%);
151154
transition: filter 0.3s ease;
152155
}
153156

154-
.card:hover .cardIcon {
157+
.card:hover .cardLogo {
155158
filter: grayscale(0%);
156159
}
157160

0 commit comments

Comments
 (0)