Skip to content

Ralph/writegeist v1#1

Merged
DevJonny merged 26 commits intomainfrom
ralph/writegeist-v1
Apr 5, 2026
Merged

Ralph/writegeist v1#1
DevJonny merged 26 commits intomainfrom
ralph/writegeist-v1

Conversation

@DevJonny
Copy link
Copy Markdown
Owner

@DevJonny DevJonny commented Apr 5, 2026

No description provided.

DevJonny and others added 26 commits April 4, 2026 19:28
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add .DS_Store and .last-branch to gitignore
- Include ralph scripts, prompt, CLAUDE.md, AGENTS.md, and archive
- Add implementation plan and PRD docs
- Update progress log and prd.json with completed stories
- Register fetchers in DI (Program.cs)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 5, 2026 09:40
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces the initial “Writegeist v1” implementation: a .NET 10 interactive CLI that ingests posts, analyses writing style via LLM providers (Anthropic/OpenAI), generates/refines drafts, and persists data in SQLite—plus supporting tests and Ralph agent automation artifacts.

Changes:

  • Added Core domain models/interfaces plus services for style analysis and post generation/refinement.
  • Added Infrastructure implementations: SQLite schema + repositories, LLM providers, and content fetchers (manual import + X API + stubs).
  • Added CLI menus/actions wiring ingestion, analysis, generation, refinement, and profile viewing; added CI workflow and PRD/docs.

Reviewed changes

Copilot reviewed 69 out of 70 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
Writegeist.slnx Adds solution structure referencing src/tests projects
tests/Writegeist.Tests/Writegeist.Tests.csproj Adds test project targeting net10.0 with xUnit/FA/NSubstitute
tests/Writegeist.Tests/Services/StyleAnalyserTests.cs Unit tests for StyleAnalyser prompt/storage behavior
tests/Writegeist.Tests/Services/PostGeneratorTests.cs Unit tests for generation/refinement prompts and draft storage
tests/Writegeist.Tests/PlatformConventionsTests.cs Verifies platform rules for LinkedIn/X/Instagram/Facebook
tests/Writegeist.Tests/Persistence/SqliteStyleProfileRepositoryTests.cs Repository tests for style profile persistence/retrieval
tests/Writegeist.Tests/Persistence/SqlitePostRepositoryTests.cs Repository tests for raw post persistence + dedup hashing
tests/Writegeist.Tests/Persistence/SqlitePersonRepositoryTests.cs Repository tests for persons CRUD and case-insensitive lookup
tests/Writegeist.Tests/Persistence/SqliteDraftRepositoryTests.cs Repository tests for drafts + parent/child linking
tests/Writegeist.Tests/Persistence/SqliteDatabaseTests.cs Verifies schema creation/idempotency/columns
tests/Writegeist.Tests/Fetchers/ManualFetcherTests.cs Tests for manual file-based post ingestion
tasks/prd-writegeist.md Adds a human-readable PRD for the project
src/Writegeist.Infrastructure/Writegeist.Infrastructure.csproj Adds infra project with SQLite/AngleSharp/OpenAI deps
src/Writegeist.Infrastructure/Persistence/SqliteStyleProfileRepository.cs Implements style profile persistence against SQLite
src/Writegeist.Infrastructure/Persistence/SqlitePostRepository.cs Implements raw post storage + content-hash dedup
src/Writegeist.Infrastructure/Persistence/SqlitePersonRepository.cs Implements person storage and case-insensitive lookup
src/Writegeist.Infrastructure/Persistence/SqliteDraftRepository.cs Implements generated draft persistence and retrieval
src/Writegeist.Infrastructure/Persistence/SqliteDatabase.cs Creates SQLite schema for persons/posts/profiles/drafts
src/Writegeist.Infrastructure/LlmProviders/OpenAiProvider.cs Implements OpenAI-backed ILlmProvider
src/Writegeist.Infrastructure/LlmProviders/AnthropicProvider.cs Implements Anthropic-backed ILlmProvider via raw HTTP
src/Writegeist.Infrastructure/Fetchers/XTwitterFetcher.cs Implements X API v2 fetcher for recent tweets
src/Writegeist.Infrastructure/Fetchers/ManualFetcher.cs Implements file import fetcher splitting posts by separator
src/Writegeist.Infrastructure/Fetchers/LinkedInFetcher.cs Stub fetcher with manual-ingest guidance for LinkedIn
src/Writegeist.Infrastructure/Fetchers/InstagramFetcher.cs Stub fetcher with manual-ingest guidance for Instagram
src/Writegeist.Infrastructure/Fetchers/FacebookFetcher.cs Stub fetcher with manual-ingest guidance for Facebook
src/Writegeist.Core/Writegeist.Core.csproj Adds Core project targeting net10.0 and InternalsVisibleTo tests
src/Writegeist.Core/Services/StyleAnalyser.cs Implements analysis orchestration + prompt building
src/Writegeist.Core/Services/PostGenerator.cs Implements generation/refinement orchestration + prompts
src/Writegeist.Core/PlatformConventions.cs Defines platform-specific generation constraints/guidance
src/Writegeist.Core/Models/StyleProfile.cs Adds StyleProfile model
src/Writegeist.Core/Models/RawPost.cs Adds RawPost model
src/Writegeist.Core/Models/PlatformRules.cs Adds PlatformRules record
src/Writegeist.Core/Models/Platform.cs Adds Platform enum
src/Writegeist.Core/Models/Person.cs Adds Person model
src/Writegeist.Core/Models/GeneratedDraft.cs Adds GeneratedDraft model
src/Writegeist.Core/Models/FetchRequest.cs Adds FetchRequest record
src/Writegeist.Core/Models/FetchedPost.cs Adds FetchedPost record
src/Writegeist.Core/Interfaces/IStyleProfileRepository.cs Adds style profile repository contract
src/Writegeist.Core/Interfaces/IPostRepository.cs Adds post repository contract
src/Writegeist.Core/Interfaces/IPersonRepository.cs Adds person repository contract
src/Writegeist.Core/Interfaces/ILlmProvider.cs Adds LLM provider contract
src/Writegeist.Core/Interfaces/IDraftRepository.cs Adds draft repository contract
src/Writegeist.Core/Interfaces/IContentFetcher.cs Adds content fetcher contract
src/Writegeist.Cli/Writegeist.Cli.csproj Adds CLI project and config copy-to-output
src/Writegeist.Cli/Program.cs Bootstraps InteractiveCLI + DI wiring + DB creation
src/Writegeist.Cli/Menus/ProfileMenu.cs Adds profiles submenu
src/Writegeist.Cli/Menus/MainMenu.cs Adds main menu items for ingest/analyse/generate/refine/profiles
src/Writegeist.Cli/Menus/IngestMenu.cs Adds ingestion submenu items
src/Writegeist.Cli/appsettings.json Adds Writegeist config defaults (provider/db/models)
src/Writegeist.Cli/Actions/ShowProfileAction.cs Shows latest profile as table/panel
src/Writegeist.Cli/Actions/RefineAction.cs Implements draft refinement loop action
src/Writegeist.Cli/Actions/PlaceholderAction.cs Placeholder action output
src/Writegeist.Cli/Actions/ListProfilesAction.cs Lists persons with profiles
src/Writegeist.Cli/Actions/IngestInteractiveAction.cs Interactive paste ingestion loop
src/Writegeist.Cli/Actions/IngestFromUrlAction.cs URL/handle ingestion via fetcher dispatch
src/Writegeist.Cli/Actions/IngestFromFileAction.cs File ingestion via ManualFetcher
src/Writegeist.Cli/Actions/GenerateAction.cs Generates a post draft via PostGenerator
src/Writegeist.Cli/Actions/AnalyseAction.cs Analyses style via StyleAnalyser
scripts/ralph/ralph.sh Adds Ralph agent loop script (amp/claude)
scripts/ralph/prompt.md Adds Amp prompt instructions
scripts/ralph/progress.txt Adds iteration log/patterns
scripts/ralph/prd.json Adds machine-readable PRD used by Ralph
scripts/ralph/CLAUDE.md Adds Claude Code prompt instructions
scripts/ralph/archive/2026-04-04-colorado-pain-scale/progress.txt Archives prior run progress log
scripts/ralph/archive/2026-04-04-colorado-pain-scale/prd.json Archives prior run PRD snapshot
scripts/ralph/AGENTS.md Adds agent usage documentation
prd.json Adds/updates root PRD JSON copy
docs/writegeist-implementation-plan.md Adds detailed implementation plan doc
.gitignore Ignores macOS artifacts and Ralph branch tracking file
.github/workflows/build-and-test.yml Adds CI workflow for restore/build/test

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Writegeist.Infrastructure/Persistence/SqliteDatabase.cs
Comment thread src/Writegeist.Infrastructure/Persistence/SqliteDatabase.cs
Comment thread src/Writegeist.Cli/Program.cs
Comment thread src/Writegeist.Infrastructure/Fetchers/XTwitterFetcher.cs
Comment thread src/Writegeist.Infrastructure/Fetchers/XTwitterFetcher.cs
Comment thread tasks/prd-writegeist.md
Comment thread src/Writegeist.Infrastructure/Persistence/SqlitePersonRepository.cs
Comment thread src/Writegeist.Infrastructure/Persistence/SqlitePostRepository.cs
Comment thread src/Writegeist.Infrastructure/Persistence/SqliteDraftRepository.cs
@DevJonny DevJonny requested a review from Copilot April 5, 2026 11:40
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 69 out of 70 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Writegeist.Infrastructure/Fetchers/XTwitterFetcher.cs
Comment thread src/Writegeist.Infrastructure/Fetchers/XTwitterFetcher.cs
Comment thread src/Writegeist.Cli/Actions/AnalyseAction.cs
Comment thread src/Writegeist.Cli/Actions/GenerateAction.cs
Comment thread tasks/prd-writegeist.md
@DevJonny DevJonny merged commit 6a125d5 into main Apr 5, 2026
9 checks passed
@DevJonny DevJonny deleted the ralph/writegeist-v1 branch April 5, 2026 11:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants