Create a developer-first AI avatar that understands how you code, how you think, and how you communicate in pull requests, issue threads, and dev chats.
// Generic AI Code
function UserProfile({ userId }) {
const [user, setUser] = useState()
useEffect(() => {
fetch('/api/user/' + userId)
.then(res => res.json())
.then(data => setUser(data))
}, [userId])
if (!user) return <div>Loading...</div>
return (
<div style={{
padding: '20px',
border: '1px solid #ccc',
borderRadius: '8px',
marginBottom: '10px'
}}>
<img
src={user.avatar}
style={{width: '50px', height: '50px', borderRadius: '50%'}}
/>
<h3>{user.name}</h3>
<p>{user.email}</p>
<span style={{
background: user.isActive ? 'green' : 'red',
color: 'white',
padding: '4px 8px',
borderRadius: '4px'
}}>
{user.isActive ? 'Active' : 'Inactive'}
</span>
<br />
<button
onClick={() => alert('Edit clicked')}
style={{
marginTop: '10px',
padding: '8px 16px',
background: '#007bff',
color: 'white',
border: 'none',
borderRadius: '4px'
}}
>
Edit Profile
</button>
</div>
)
}/**
* User profile component using our design system
* @param userId - User identifier for data fetching
* @param onEdit - Callback when user clicks edit
*/
interface UserProfileProps {
userId: string
onEdit: (user: User) => void
}
export const UserProfile: React.FC<UserProfileProps> = ({
userId,
onEdit
}) => {
const [user, setUser] = useState<User | null>(null)
const [loading, setLoading] = useState(true)
useEffect(() => {
console.log("Fetching user profile:", userId)
const fetchUser = async () => {
try {
const response = await fetch(`/api/users/${userId}`)
if (!response.ok) throw new Error('Failed to fetch user')
const userData = await response.json()
setUser(userData)
console.log("User profile loaded:", userData.id)
} catch (error) {
console.error("Failed to load user:", error)
toast.error("Failed to load user profile")
} finally {
setLoading(false)
}
}
fetchUser()
}, [userId])
if (loading) return <UserProfileSkeleton />
if (!user) return <UserProfileError />
return (
<Card className="p-6 hover:shadow-md transition-shadow">
<div className="flex items-start gap-4">
<Avatar className="h-12 w-12 ring-2 ring-border">
<AvatarImage src={user.avatar} alt={user.name} />
<AvatarFallback className="bg-primary/10 text-primary">
{user.name.charAt(0)}
</AvatarFallback>
</Avatar>
<div className="flex-1 space-y-2">
<div className="flex items-center gap-2">
<h3 className="font-semibold text-lg">{user.name}</h3>
<Badge variant={user.isActive ? "default" : "secondary"}>
{user.isActive ? "Active" : "Inactive"}
</Badge>
</div>
<p className="text-muted-foreground">{user.email}</p>
<Button
variant="outline"
size="sm"
onClick={() => onEdit(user)}
className="mt-3"
>
Edit Profile
</Button>
</div>
</div>
</Card>
)
}Configure your AI programming twin in our website, then plug it into editors like Cursor, GitHub Copilot, Cline, Lovable, Macaly
It will program in your style, respect your rules, and use your design system components.
You'll see a live preview of what it learns and how it talks like you.
You don't need a hundred apps, tools, or dashboards. You need more time to focus on meaningful development.
Automated PR reviews that match your style and standards
Consistent, clear commit messages following your conventions
Handle bug reports and feature requests professionally
Auto-respond to common questions and status updates
Most devs spend 80% of their time on:
• Rewriting similar responses in PRs
• Attending redundant standups
• Commenting on the same type of bugs
• Chasing down specs or managing side channels
We flip that. Let your avatar take care of the busywork, so you can ship, think, and build.
Your voice, your thinking, your patterns—fine-tuned by learning from your GitHub, Slack, and code history.
Drop it into your GitHub repo, Slack workspace, VSCode, or even use it on calls and demos.
You decide what it can do, see every interaction, and tweak its behavior using human language.
Everything runs on plain-text logic called Book, interpreted by the open-source PromptBook Engine. No no-code walls, no vendor lock-in.
Import your GitHub, Google, or Slack data—or configure manually. It's up to you.
It's open source. You can host it yourself or move your data anytime.
Connect your avatar to the tools you already use, from GitHub to Slack to custom workflows
Automated code reviews and issue responses in your style
Handle team questions and status updates automatically
Respond to stakeholder emails and support chats
Present features and updates with AI-generated demos
Automatically categorize issues and write release notes
Tailored integrations and on-premise deployment
• Generating boilerplate code or config files based on your habits
• Interfacing with non-technical stakeholders on your behalf
• Debugging or triaging issues while you focus on deep work
• Handling repetitive Slack threads or project updates
Choose the plan that fits your development workflow. Start free, upgrade when you're ready.
Perfect for getting started with your dev avatar
Full dev stack integration for serious developers
Tailored solutions for teams and organizations
All plans include open source access and community support
No hidden fees • Cancel anytime • 30-day money-back guarantee on Pro plan
Start by importing your GitHub or Google data. You'll see a live preview of what it learns and how it talks like you.
👉 Direct link:
https://ptbk.io/agent-oC0c35