Skip to content

Commit 4572d00

Browse files
committed
Another homepage copy update
1 parent 10a1bfd commit 4572d00

1 file changed

Lines changed: 40 additions & 27 deletions

File tree

docs-site/src/pages/index.tsx

Lines changed: 40 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,15 @@ function LeashComparison(): ReactNode {
9696
</div>
9797
</div>
9898
<p className={styles.leashDesc}>
99-
I'm{' '}
99+
I&apos;m{' '}
100100
<a
101101
href="https://linkedin.com/in/cadamsdotcom"
102102
target="_blank"
103103
rel="noreferrer"
104104
>
105105
Chris
106106
</a>
107-
. I've been a software engineer for over 20 years.
107+
. I&apos;ve been a software engineer for over 20 years.
108108
</p>
109109
<p className={styles.leashDesc}>
110110
Claude Code writes all code for my product,{' '}
@@ -124,30 +124,42 @@ function LeashComparison(): ReactNode {
124124
<p className={styles.leashDesc}>
125125
Agents go off the rails. They get distracted. Asking nicely with
126126
AGENTS.md and system prompts and interrupting their work to remind
127-
them of stuff... yeah, it works... sort of... most of the time. That's
128-
a problem, because, "most of the time" doesn't cut it for building
129-
serious software.
127+
them of stuff... yeah, it works... sort of... most of the time.
128+
That&apos;s a problem, because, &quot;most of the time&quot;
129+
doesn&apos;t cut it for building serious software.
130130
</p>
131131
<p className={styles.leashDesc}>
132132
CodeLeash puts guardrails <em>outside</em> the agent, so it{' '}
133133
<em>can&apos;t</em> go off the rails, forget them or ignore them.
134134
While everyone and their dog is building the tallest tower of agent
135-
orchestration they can, I've been tightly controlling outcomes in
135+
orchestration they can, I&apos;ve been tightly controlling outcomes in
136136
ApprovIQ&apos;s codebase, by sharply defining what quality code looks
137-
like, rubbing Claude Code's nose in it with automation, and forcing it
138-
to fix its mistakes - all while I am off doing something else.
139-
CodeLeash enforces quality with code based hooks, scripts, tools, and
140-
loops, in a way the agent can&apos;t ignore or bypass.
137+
like, rubbing Claude Code&apos;s nose in it with automation, and
138+
forcing it to fix its mistakes - all while I am off doing something
139+
else. CodeLeash enforces quality with code based hooks, scripts,
140+
tools, and loops, in a way the agent can&apos;t ignore or bypass.
141141
</p>
142142
<p className={styles.leashDesc}>
143-
Look at the images. Notice: "Can&apos;t walk on the road" is NOT in a
144-
speech bubble! A leash means never barking orders.
143+
Look at the images. Notice: &quot;Can&apos;t walk on the road&quot; is
144+
NOT in a speech bubble! A leash means never barking orders.
145145
</p>
146146
<p className={styles.leashDesc}>
147147
Agents today cannot do everything you ask while also doing their task.
148-
Create guardrails that automatically show how they failed to live up
149-
to your standards while guiding them to correct their mistakes. Hence
150-
the analogy of a leash.
148+
Guardrails automatically tell your agent how it failed to live up to
149+
your standards while guiding it to correct mistakes. Like a leash, it
150+
balances freedom and constraint.
151+
</p>
152+
<p className={styles.leashDesc}>
153+
CodeLeash is both a complete framework, and a demonstration of ideas
154+
you can adapt to your own work. Read on, or give the{' '}
155+
<a
156+
href="https://github.com/cadamsdotcom/CodeLeash"
157+
target="_blank"
158+
rel="noreferrer"
159+
>
160+
code
161+
</a>{' '}
162+
to your coding agent and ask it some questions.
151163
</p>
152164
</div>
153165
</section>
@@ -160,7 +172,7 @@ function Features(): ReactNode {
160172
<div className={styles.container}>
161173
<div className={styles.sectionHeader}>
162174
<span className={styles.sectionNumber}>01</span>
163-
<span className={styles.sectionTitle}>What's Inside</span>
175+
<span className={styles.sectionTitle}>What&apos;s Inside</span>
164176
</div>
165177
{/* Cards cycle: Red, Earth(reversed), Green, Earth(reversed), Red...
166178
When adding/removing cards, shift colors to maintain the pattern. */}
@@ -209,9 +221,9 @@ function Features(): ReactNode {
209221
<Link to="/docs/tdd-guard">Test Driven Development</Link> is a
210222
universal way to build software. Write failing tests, watch
211223
them fail, write code to make them pass, watch them pass.
212-
You're gradually building a repository of every decision you
213-
ever made. Even better, if a decision is <i>un-made</i>, tests
214-
fail. Alarms go off.
224+
You&apos;re gradually building a repository of every decision
225+
you ever made. Even better, if a decision is <i>un-made</i>,
226+
tests fail. Alarms go off.
215227
</p>
216228
<p className={styles.featureCardDesc}>
217229
Forcing the agent through TDD created a repository of all my
@@ -223,10 +235,11 @@ function Features(): ReactNode {
223235
</p>
224236
<p className={styles.featureCardDesc}>
225237
But babysitting a TDD process is almost as tedious as doing
226-
TDD! I was constantly stopping the agent - don't do that, you
227-
didn't see the tests pass, roll that back, it's not time to
228-
write code yet. The agent was frequently befuddled by this. So
229-
I asked: can I get myself out of <i>that</i> loop too?
238+
TDD! I was constantly stopping the agent - don&apos;t do that,
239+
you didn&apos;t see the tests pass, roll that back, it&apos;s
240+
not time to write code yet. The agent was frequently befuddled
241+
by this. So I asked: can I get myself out of <i>that</i> loop
242+
too?
230243
</p>
231244
<p className={styles.featureCardDesc}>
232245
The solution Claude and I hit on is a state machine tracked in
@@ -291,8 +304,8 @@ function Features(): ReactNode {
291304
CodeLeash checks code quality using many small scripts,{' '}
292305
<i>not</i> AI. No AI means zero tokens burned. No false
293306
positives and no inconsistency. They&apos;re deterministic so
294-
they're impossible to fool. And fast so you can run them every
295-
time you change code.
307+
they&apos;re impossible to fool. And fast so you can run them
308+
every time you change code.
296309
</p>
297310
<p className={styles.featureCardDesc}>
298311
Check scripts exit 0 on success or non-zero on failure.
@@ -308,8 +321,8 @@ function Features(): ReactNode {
308321
CodeLeash is full of examples for your coding agent to crib
309322
from. Some traverse the codebase with ASTs; others with
310323
regexes. A surprising amount of the code review feedback
311-
you've ever given in your software engineering career can be
312-
automated - ask your agent for ideas! With a big enough
324+
you&apos;ve ever given in your software engineering career can
325+
be automated - ask your agent for ideas! With a big enough
313326
library of checks - built by you - once your agent stops
314327
working, all the basic issues were removed in response to the
315328
checks failing, without you watching. You no longer need to

0 commit comments

Comments
 (0)