jaredpalmer / jaredpalmer/agentik

Add optional zero-config project scaffold and minimal init workflow

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
17
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Summary

Agentik provides a powerful runtime, reference CLI, and built-in tools. However, first-time users must manually wire context loading, tool policy, session persistence, and lifecycle hooks before they can experience a deterministic, repo-aware agent workflow.

This proposal adds an optional, additive scaffold layer that enables a working agent with only:
• a selected model
• a valid API key
• a single command

The goal is to reduce onboarding friction while preserving Agentik’s runtime-first philosophy.

Problem

Today, a new user who wants a repo-aware coding agent must:
1. Create context files manually
2. Design a settings schema
3. Implement a context loader
4. Implement tool authorization logic
5. Wire lifecycle hooks
6. Configure session persistence

While the runtime exposes all required primitives, there is no convention layer or minimal scaffold that demonstrates how these components fit together in practice.

This results in:
• onboarding friction
• duplicated boilerplate across users
• inconsistent patterns
• unclear intended usage for repo-aware workflows

Proposal

Add an optional scaffold and minimal loader layer that:
• Does not change existing runtime APIs
• Does not impose conventions on advanced users
• Lives either in examples/, a companion package, or a small additive CLI feature
• Demonstrates a complete deterministic workflow built on top of existing primitives

Proposed Scope

1. Default Project Structure

Provide a minimal scaffold generated via:

agentik init

It creates:

AGENT.md
PROJECT_STATE.md
.agent/
settings.json
rules/
00-safety.md
10-style.md
sessions/

Purpose:
• Demonstrates structured context layering
• Provides editable templates
• Encourages consistent usage patterns

2. Minimal settings.json Schema

Ship a documented baseline schema:

{
"model": {
"provider": "anthropic",
"name": "claude-3-7-sonnet",
"temperature": 0.2
},
"tools": {
"bash": { "enabled": true, "requireApproval": true },
"writeFile": { "enabled": true, "requireApproval": true },
"readFile": { "enabled": true }
},
"qualityGates": {
"requireTestsPassing": false
}
}

This becomes:
• the enforcement layer for lifecycle hooks
• a clear extensible policy surface
• a reference example of best practices

3. Default Context Loader

Add a minimal loader used by the CLI or example.

Context assembly order:
1. AGENT.md
2. PROJECT_STATE.md
3. .agent/rules/*.md sorted
4. Optional active plan file

This produces a deterministic context pack without custom wiring.

4. Reference Policy Enforcement

Use lifecycle hooks to implement a minimal policy layer:
• Deny access to .env and secrets
• Require approval for write, edit, bash
• Log tool calls to .agent/sessions/
• Optional test or lint gate before completion

This demonstrates intended hook usage.

5. Default File-Based Session Store

Out of the box:

.agent/sessions/.jsonl

Automatically created on first run.

No custom store required for basic usage.

6. Single-Command Experience

After install and API key:

agentik init
agentik run "summarize this repository"

This should:
• Load scaffold
• Enforce tool policy
• Persist session
• Run with built-in tools
• Stream output

No additional wiring required.

Implementation Placement Options

Open question:

Where should this live?
1. examples/quickstart/
2. Companion package such as @agentik/create
3. Small addition to @jaredpalmer/coding-agent
4. Core package

Preferred placement is examples or a companion package to avoid expanding core surface area.

Non-Goals
• Turning Agentik into a monolithic CLI
• Replacing flexibility
• Enforcing mandatory conventions
• Modifying runtime behavior
• Introducing breaking changes

This is entirely opt-in.

Acceptance Criteria
• Installing the package and setting an API key is sufficient to run an agent in a repo
• Scaffold is generated via a single command
• Existing APIs remain unchanged
• Advanced users can ignore scaffold entirely
• Documentation clearly distinguishes runtime primitives from scaffold layer

Why This Improves the Project
• Reduces onboarding friction
• Establishes best practices
• Makes demos easier
• Encourages adoption
• Reduces repeated boilerplate

Offer

If aligned with project goals, I am willing to submit a PR implementing:
• The scaffold generator
• The minimal loader
• The reference policy enforcement
• Documentation updates

Please advise preferred placement and scope boundaries.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing CLI entry points for `agentik init` and `agentik run`, then compare the proposed locations in `examples/quickstart/`, a companion package, and the core package. Define the smallest placement and scope that can generate the listed scaffold, load context, enforce policy, persist sessions, and preserve existing APIs; completion is demonstrated by the acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.