seshat-scribe 0.9.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,16 +1,14 @@
1
1
  # Seshat
2
2
 
3
- AI-powered automatic content generation for blogs and headless CMS platforms. Seshat analyzes your existing content, generates new blog posts using Google Gemini, and publishes. Automatic generation and publication via Github Actions run on a schedule. Currently support local MDX files and Sanity CMS.
3
+ AI-powered automatic content generation for Sanity CMS. Seshat analyzes your existing content, generates new blog posts using Google Gemini, and publishes directly to Sanity. Automatic generation and publication via GitHub Actions on a schedule.
4
4
 
5
5
  ## Features
6
6
 
7
7
  - **Free to Use**: Works with Google's free Gemini API tier for text generation, use paid tier for image generation
8
8
  - **AI-Powered Planning**: Analyzes existing content to generate unique, non-duplicate topics
9
9
  - **BYOK** - Bring Your Own Key, it will use your Gemini key to generate posts
10
- - **Flexible Output**: Commit local MDX files or publish to Sanity CMS automatically
11
- - **Smart Generation**: Creates complete articles with frontmatter and optional hero images
12
- - **Framework Support**: Optional presets for Remix, Next.js, and Astro (or custom configuration)
13
- - **Flexible Configuration**: Customizable frontmatter, file naming, and content generation options
10
+ - **Sanity Integration**: Automatic image upload and document creation in Portable Text format
11
+ - **Smart Generation**: Creates complete articles as Portable Text with optional hero images
14
12
  - **GitHub Actions Integration**: Automate content creation on a schedule
15
13
  - **Type-Safe**: Built with TypeScript and Zod for runtime validation
16
14
 
@@ -35,11 +33,10 @@ cd your-blog-project
35
33
  seshat init
36
34
  ```
37
35
 
38
- The interactive wizard will guide you through setup:
36
+ The interactive wizard will guide you through Sanity CMS configuration:
39
37
  - Choose between quick setup (recommended defaults) or custom configuration
40
- - Select output mode: local files or Sanity CMS
41
- - Select framework preset (Remix, Next.js, Astro) or custom configuration
42
- - Auto-detect existing blog structure if available
38
+ - Enter your Sanity project ID, dataset, and API version
39
+ - Configure content generation options (optional)
43
40
 
44
41
  ### 2. Configure API Keys
45
42
 
@@ -55,7 +52,7 @@ export GEMINI_API_KEY="your_api_key_here"
55
52
 
56
53
  By default, Seshat will attempt to generate images. To create text-only posts (for free tier), set `enableImageGeneration: false` in your config (see [Configuration](#content-generation) below).
57
54
 
58
- For Sanity CMS, also set:
55
+ **Sanity Write Token** (required):
59
56
 
60
57
  ```bash
61
58
  export SANITY_WRITE_TOKEN="your_sanity_token_here"
@@ -77,64 +74,37 @@ seshat write --dry-run
77
74
 
78
75
  Seshat uses `seshat.config.json` for configuration. The wizard creates this automatically, but you can also edit it manually.
79
76
 
80
- ### Core Settings
77
+ ### Example Configuration
81
78
 
82
79
  ```json
83
80
  {
84
81
  "topic": "Software Engineering and Technology",
85
82
  "tone": "Professional yet approachable",
86
- "framework": "remix",
87
- "outputMode": "local"
88
- }
89
- ```
90
-
91
- - `topic`: Global topic constraint for content generation
92
- - `tone`: Writing style and voice
93
- - `framework`: Optional preset - one of `remix`, `next`, `astro`, or `custom` for manual configuration. Framework presets configure frontmatter fields automatically, but are not required
94
- - `outputMode`: `local` or `sanity`
95
-
96
- ### Local File Output
97
-
98
- Required when `outputMode` is `local`:
99
-
100
- ```json
101
- {
102
- "contentDir": "app/routes/blog",
103
- "assetsDir": "public/images/generated",
104
- "publicAssetPath": "/images/generated"
105
- }
106
- ```
107
-
108
- ### Sanity CMS Output
109
-
110
- Required when `outputMode` is `sanity`:
111
-
112
- ```json
113
- {
114
83
  "sanity": {
115
84
  "projectId": "your-project-id",
116
85
  "dataset": "production",
117
86
  "apiVersion": "2024-01-01",
118
87
  "documentType": "post"
88
+ },
89
+ "generation": {
90
+ "enableImageGeneration": true,
91
+ "targetWordCount": 1500
119
92
  }
120
93
  }
121
94
  ```
122
95
 
123
- ### Advanced Options
96
+ ### Core Settings
124
97
 
125
- **File Structure**
126
- - `fileExtension`: `mdx` or `md`
127
- - `imageFormat`: `png`, `jpg`, or `svg`
128
- - `fileNameTemplate`: e.g., `{{slug}}` or `{{date}}-{{slug}}`
129
- - `nestedDirectories`: Use date-based nested directories
98
+ - `topic`: Global topic constraint for content generation
99
+ - `tone`: Writing style and voice
100
+ - `sanity`: Sanity CMS configuration (required)
101
+ - `projectId`: Your Sanity project ID
102
+ - `dataset`: Dataset name (default: "production")
103
+ - `apiVersion`: API version (default: "2024-01-01")
104
+ - `documentType`: Document type to create (default: "post")
130
105
 
131
- **Frontmatter Customization**
132
- - `frontmatter.dateField`: Field name for date (e.g., `date`, `pubDate`)
133
- - `frontmatter.dateFormat`: `iso`, `date-only`, or custom format
134
- - `frontmatter.imageField`: Field name for image
135
- - `frontmatter.additionalFields`: Custom metadata as key-value pairs
106
+ ### Content Generation
136
107
 
137
- **Content Generation**
138
108
  - `generation.enableImageGeneration`: Enable/disable AI image generation (default: `true`). Set to `false` for text-only posts if using free Gemini API tier
139
109
  - `generation.targetWordCount`: Target word count (optional)
140
110
  - `generation.includeCodeExamples`: Emphasize code examples
@@ -152,6 +122,9 @@ Example for free tier (text-only):
152
122
  }
153
123
  ```
154
124
 
125
+ ### Image Format
126
+
127
+ - `imageFormat`: `png`, `jpg`, or `svg` (default: `png`)
155
128
 
156
129
  ## GitHub Actions Automation
157
130
 
@@ -169,12 +142,12 @@ This creates `.github/workflows/seshat.yml` based on your configuration.
169
142
 
170
143
  Add these to your repository secrets (Settings → Secrets and Variables → Actions):
171
144
 
172
- - `GEMINI_API_KEY`: Your Google Gemini API key
173
- - `SANITY_WRITE_TOKEN`: Your Sanity write token (if using Sanity CMS)
145
+ - `GEMINI_API_KEY`: Your Google Gemini API key (required)
146
+ - `SANITY_WRITE_TOKEN`: Your Sanity write token (required)
174
147
 
175
148
  ### Customize Schedule
176
149
 
177
- This will run the Github action workflow to generate and publish posts automatically according to the defined schedule.
150
+ This will run the GitHub action workflow to generate and publish posts automatically according to the defined schedule.
178
151
 
179
152
  Edit the `schedule` field in `seshat.config.json`:
180
153
 
@@ -203,6 +176,7 @@ Generate a new blog post:
203
176
  ```bash
204
177
  seshat write
205
178
  seshat write --dry-run # Preview without saving
179
+ seshat write -t "Custom Topic" # Override topic for this post
206
180
  ```
207
181
 
208
182
  ### `seshat setup-workflow`
@@ -215,11 +189,11 @@ seshat setup-workflow
215
189
 
216
190
  ## How It Works
217
191
 
218
- 1. **Analysis**: Scans existing content (local MDX files or Sanity CMS) to understand what you've written
192
+ 1. **Analysis**: Scans existing content from Sanity CMS to understand what you've written
219
193
  2. **Planning**: Uses Google Gemini to propose a new, non-duplicate topic
220
- 3. **Writing**: Generates complete article with frontmatter (or Portable Text for Sanity)
194
+ 3. **Writing**: Generates complete article as Portable Text
221
195
  4. **Illustration** (optional): Creates a hero image using Gemini's image generation (if enabled and API supports it)
222
- 5. **Publishing**: Saves to local files, uploads to Sanity CMS, or both
196
+ 5. **Publishing**: Uploads content and images to Sanity CMS
223
197
 
224
198
  ## Requirements
225
199
 
@@ -227,4 +201,19 @@ seshat setup-workflow
227
201
  - **Free** Google Gemini API key ([Get one here](https://aistudio.google.com/app/apikey) - no credit card required)
228
202
  - Free tier: Text generation only
229
203
  - Paid tier: Text + AI image generation
230
- - Sanity write token (if using Sanity CMS)
204
+ - Sanity write token (required)
205
+ - Sanity CMS project
206
+
207
+ ## Migrating from 0.x
208
+
209
+ Version 1.0.0 is a breaking change that removes local file support and focuses exclusively on Sanity CMS.
210
+
211
+ If you're upgrading from 0.x:
212
+ 1. Run `seshat init` to create a new Sanity-only configuration
213
+ 2. Remove old config fields: `outputMode`, `contentDir`, `assetsDir`, `publicAssetPath`, `framework`, `fileExtension`, `fileNameTemplate`, `nestedDirectories`, `frontmatter`
214
+ 3. Ensure `sanity` configuration is present and valid
215
+ 4. Set `SANITY_WRITE_TOKEN` environment variable
216
+
217
+ ## License
218
+
219
+ MIT
@@ -3,7 +3,7 @@ export interface GenerateOptions {
3
3
  topic?: string;
4
4
  }
5
5
  /**
6
- * Main command: Generate a new blog post with image
6
+ * Main command: Generate a new blog post with image and upload to Sanity
7
7
  */
8
8
  export declare function generate(options?: GenerateOptions): Promise<void>;
9
9
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmN3E"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqK3E"}
@@ -4,15 +4,13 @@ import os from 'os';
4
4
  import ora from 'ora';
5
5
  import { scanRepository } from '../core/analyzer.js';
6
6
  import { planBlogPost } from '../core/planner.js';
7
- import { writeBlogPost } from '../core/writer.js';
8
7
  import { writePortableTextContent } from '../core/portable-writer.js';
9
8
  import { generateImage } from '../core/artist.js';
10
9
  import { uploadToSanity } from '../core/sanity.js';
11
10
  import { gold, cyan, error, info, scrollWritten } from '../lib/output.js';
12
11
  import { resetUsage, formatUsageSummary } from '../lib/usage.js';
13
- import { buildFileName, buildNestedPath } from '../lib/frontmatter.js';
14
12
  /**
15
- * Main command: Generate a new blog post with image
13
+ * Main command: Generate a new blog post with image and upload to Sanity
16
14
  */
17
15
  export async function generate(options = {}) {
18
16
  const configPath = path.join(process.cwd(), 'seshat.config.json');
@@ -38,7 +36,7 @@ export async function generate(options = {}) {
38
36
  }
39
37
  console.log('');
40
38
  resetUsage();
41
- // Step 1: Analyze existing content
39
+ // Step 1: Analyze existing content from Sanity
42
40
  const analyzeSpinner = ora({
43
41
  text: cyan('Reading the archives...'),
44
42
  color: 'cyan',
@@ -71,35 +69,19 @@ export async function generate(options = {}) {
71
69
  process.exit(1);
72
70
  }
73
71
  const postDate = new Date();
74
- const outputMode = config.outputMode || 'local';
75
- let mdxContent;
76
- let portableTextBody;
77
72
  // Step 3: Generate the image (if enabled)
78
73
  const enableImageGeneration = config.generation?.enableImageGeneration ?? true;
79
74
  let imagePath = null;
80
- let isTemporaryImage = false;
81
75
  if (enableImageGeneration) {
82
76
  const imageSpinner = ora({
83
77
  text: cyan('Seshat is painting...'),
84
78
  color: 'cyan',
85
79
  }).start();
86
80
  try {
87
- // For Sanity-only mode, save to temp directory
88
- if (outputMode === 'sanity') {
89
- const tempDir = os.tmpdir();
90
- const imageExtension = config.imageFormat === 'jpg' ? 'jpg' : (config.imageFormat === 'svg' ? 'svg' : 'png');
91
- const tempImagePath = path.join(tempDir, `seshat-${plan.slug}.${imageExtension}`);
92
- // Temporarily override config to save to temp
93
- const tempConfig = { ...config, assetsDir: tempDir };
94
- imagePath = await generateImage(tempConfig, plan.imagePrompt, plan.slug);
95
- isTemporaryImage = true;
96
- imageSpinner.succeed('Image created (temporary)');
97
- }
98
- else {
99
- imagePath = await generateImage(config, plan.imagePrompt, plan.slug);
100
- const relativeImagePath = path.relative(process.cwd(), imagePath);
101
- imageSpinner.succeed(`Image created: ${relativeImagePath}`);
102
- }
81
+ // Save to temp directory for Sanity upload
82
+ const tempDir = os.tmpdir();
83
+ imagePath = await generateImage(plan.imagePrompt, plan.slug, tempDir);
84
+ imageSpinner.succeed('Image created');
103
85
  }
104
86
  catch (err) {
105
87
  imageSpinner.fail('Image generation failed');
@@ -110,23 +92,14 @@ export async function generate(options = {}) {
110
92
  else {
111
93
  info('Image generation disabled - creating text-only post');
112
94
  }
113
- // Step 4: Write content (after we know if we have an image)
95
+ // Step 4: Write Portable Text content
114
96
  const writeSpinner = ora({
115
97
  text: cyan('Seshat is writing...'),
116
98
  color: 'cyan',
117
99
  }).start();
100
+ let portableTextBody;
118
101
  try {
119
- if (outputMode === 'local') {
120
- // Determine public image path for frontmatter
121
- const imageExtension = config.imageFormat === 'jpg' ? 'jpg' : (config.imageFormat === 'svg' ? 'svg' : 'png');
122
- const publicImagePath = imagePath && config.publicAssetPath
123
- ? `${config.publicAssetPath}/${plan.slug}.${imageExtension}`
124
- : null;
125
- mdxContent = await writeBlogPost(config, plan, postDate, publicImagePath);
126
- }
127
- if (outputMode === 'sanity') {
128
- portableTextBody = await writePortableTextContent(config, plan);
129
- }
102
+ portableTextBody = await writePortableTextContent(config, plan);
130
103
  writeSpinner.succeed('Content written');
131
104
  }
132
105
  catch (err) {
@@ -134,68 +107,50 @@ export async function generate(options = {}) {
134
107
  error(err instanceof Error ? err.message : 'Unknown error');
135
108
  process.exit(1);
136
109
  }
137
- // Step 5: Save to local files and/or upload to Sanity
110
+ // Step 5: Upload to Sanity
138
111
  const saveSpinner = ora({
139
112
  text: cyan('Inscribing the scroll...'),
140
113
  color: 'cyan',
141
114
  }).start();
142
115
  try {
143
- const imageExtension = config.imageFormat === 'jpg' ? 'jpg' : (config.imageFormat === 'svg' ? 'svg' : 'png');
144
- // Upload to Sanity if configured
145
- if (outputMode === 'sanity' && portableTextBody) {
146
- if (options.dryRun) {
147
- saveSpinner.info('Dry run: skipping Sanity upload');
148
- }
149
- else {
150
- const result = await uploadToSanity(config, plan, portableTextBody, imagePath, postDate);
151
- saveSpinner.succeed(`Uploaded to Sanity: ${result.documentId}`);
152
- info(` View in studio: /studio/intent/edit/id=${result.documentId};type=post`);
153
- // Clean up temporary image if in Sanity-only mode
154
- if (isTemporaryImage && imagePath) {
155
- try {
156
- await fs.unlink(imagePath);
157
- }
158
- catch (cleanupErr) {
159
- // Ignore cleanup errors
160
- }
161
- }
162
- }
116
+ if (options.dryRun) {
117
+ saveSpinner.info('Dry run: skipping Sanity upload');
118
+ console.log('');
119
+ console.log(gold('--- Generated Content Preview ---'));
120
+ console.log(`Title: ${plan.title}`);
121
+ console.log(`Slug: ${plan.slug}`);
122
+ console.log(`Description: ${plan.description}`);
123
+ console.log(`Tags: ${plan.tags.join(', ')}`);
124
+ console.log(`Blocks: ${portableTextBody.length}`);
125
+ console.log('');
126
+ }
127
+ else {
128
+ const result = await uploadToSanity(config, plan, portableTextBody, imagePath, postDate);
129
+ saveSpinner.succeed(`Uploaded to Sanity: ${result.documentId}`);
130
+ info(` View in studio: /studio/intent/edit/id=${result.documentId};type=post`);
163
131
  }
164
- // Save to local files if configured
165
- if (outputMode === 'local' && mdxContent) {
166
- // Build file name from template
167
- const fileExtension = config.fileExtension || 'mdx';
168
- const fileNameTemplate = config.fileNameTemplate || '{{slug}}';
169
- const fileName = buildFileName(fileNameTemplate, plan.slug, postDate, fileExtension);
170
- if (options.dryRun) {
171
- saveSpinner.info('Dry run: skipping file write');
172
- console.log('');
173
- console.log(gold('--- Generated Content Preview ---'));
174
- console.log(mdxContent.substring(0, 500) + '...');
175
- console.log('');
132
+ // Clean up temporary image
133
+ if (imagePath) {
134
+ try {
135
+ await fs.unlink(imagePath);
176
136
  }
177
- else {
178
- // Determine content directory (with optional nested structure)
179
- if (!config.contentDir) {
180
- throw new Error('contentDir is required for local output mode');
181
- }
182
- let contentPath = path.resolve(process.cwd(), config.contentDir);
183
- if (config.nestedDirectories) {
184
- contentPath = buildNestedPath(postDate, contentPath);
185
- }
186
- // Ensure content directory exists
187
- await fs.mkdir(contentPath, { recursive: true });
188
- // Write the MDX file
189
- const mdxFilePath = path.join(contentPath, fileName);
190
- await fs.writeFile(mdxFilePath, mdxContent, 'utf-8');
191
- const relativeMdxPath = path.relative(process.cwd(), mdxFilePath);
192
- saveSpinner.succeed(`Saved: ${relativeMdxPath}`);
137
+ catch (cleanupErr) {
138
+ // Ignore cleanup errors
193
139
  }
194
140
  }
195
141
  }
196
142
  catch (err) {
197
- saveSpinner.fail('Failed to save');
143
+ saveSpinner.fail('Failed to upload to Sanity');
198
144
  error(err instanceof Error ? err.message : 'Unknown error');
145
+ // Clean up temporary image on error
146
+ if (imagePath) {
147
+ try {
148
+ await fs.unlink(imagePath);
149
+ }
150
+ catch (cleanupErr) {
151
+ // Ignore cleanup errors
152
+ }
153
+ }
199
154
  process.exit(1);
200
155
  }
201
156
  // Usage summary
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAOA,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+dnE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0MnE"}