Skip to content

feat: tag sync - #1

Merged
thedevyashsaini merged 4 commits into
masterfrom
feature/tag-sync
May 12, 2026
Merged

feat: tag sync#1
thedevyashsaini merged 4 commits into
masterfrom
feature/tag-sync

Conversation

@thedevyashsaini

Copy link
Copy Markdown
Member

No description provided.

- Add tag command with sync subcommand for pulling tag definitions
- Read scrawn.config.json for configuration (directory, envFile, envKey, serverUrl)
- Walks up directory tree to find config file, uses defaults if absent
- Parse .env file to extract SCRAWN_API_KEY
- HTTP GET /api/v1/tags with Bearer auth
- Generate .scrawn/tags.ts with type-safe ScrawnTag union + typed tag() wrapper
…/envKey

- Change default directory from .scrawn to scrawn
- Remove envFile/envKey config — read SCRAWN_KEY from OS env directly
- Remove readEnvValue/scanEnvValue functions
- Generate tags.ts (pure TAGS array + ScrawnTag type)
- Generate biller.ts (configured createScrawn instance)
- Rewrite tag.go: no JSON config, spawns bun (or node+tsx) to eval .ts config
- Bun auto-loads .env/.env.local (same as drizzle-kit's built-in dotenv)
- Node fallback: CLI manually loads env files before spawning tsx
- generate only tags.ts (pure data, no wrapper fn)
- scrawn.config.ts replaces scrawn.config.json
- Add SpinnerTask to ui package with braille spinner frames
- Show step progress: Reading config, Fetching tags, Writing output
@thedevyashsaini

Copy link
Copy Markdown
Member Author

corresponding implementation

ScrawnDotDev/Scrawn.js#19
ScrawnDotDev/Scrawn#30

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.

1 participant