mirror of
https://github.com/ivuorinen/everforest-resources.git
synced 2026-01-26 11:13:59 +00:00
feat: initial scaffold and generator
- Complete project structure with directories for all target platforms - Template system for CLI tools with color placeholder replacement - Working generator that processes templates for 6 theme variants - GitHub workflows for build, snapshots, commitlint, and cli-verify - Installer and verifier scripts for CLI tool deployment - Comprehensive documentation and specifications - Biome 2.x linting and formatting setup - Husky git hooks for pre-commit validation
This commit is contained in:
253
meta/filetree.md
Normal file
253
meta/filetree.md
Normal file
@@ -0,0 +1,253 @@
|
||||
# Everforest Resources — File Tree
|
||||
|
||||
This file tree lists all directories and filenames defined in the consolidated spec. It represents the canonical layout of the github.com/ivuorinen/everforest-resources repository.
|
||||
|
||||
## Root
|
||||
|
||||
README.md
|
||||
CONTRIBUTING.md
|
||||
Makefile
|
||||
package.json
|
||||
commitlint.config.js
|
||||
|
||||
## Palettes
|
||||
|
||||
palettes/
|
||||
everforest.json
|
||||
everforest.yaml
|
||||
|
||||
## Scripts
|
||||
|
||||
scripts/
|
||||
generate-themes.mjs
|
||||
|
||||
## Terminals
|
||||
|
||||
terminals/
|
||||
wezterm/
|
||||
everforest-dark-hard.toml
|
||||
everforest-dark-medium.toml
|
||||
everforest-dark-soft.toml
|
||||
everforest-light-hard.toml
|
||||
everforest-light-medium.toml
|
||||
everforest-light-soft.toml
|
||||
alacritty/
|
||||
everforest-dark-hard.yml
|
||||
everforest-dark-medium.yml
|
||||
everforest-dark-soft.yml
|
||||
everforest-light-hard.yml
|
||||
everforest-light-medium.yml
|
||||
everforest-light-soft.yml
|
||||
kitty/
|
||||
everforest-dark-hard.conf
|
||||
everforest-dark-medium.conf
|
||||
everforest-dark-soft.conf
|
||||
everforest-light-hard.conf
|
||||
everforest-light-medium.conf
|
||||
everforest-light-soft.conf
|
||||
ghostty/
|
||||
everforest-dark-hard.conf
|
||||
everforest-dark-medium.conf
|
||||
everforest-dark-soft.conf
|
||||
everforest-light-hard.conf
|
||||
everforest-light-medium.conf
|
||||
everforest-light-soft.conf
|
||||
windows-terminal/
|
||||
everforest-dark-hard.json
|
||||
everforest-dark-medium.json
|
||||
everforest-dark-soft.json
|
||||
everforest-light-hard.json
|
||||
everforest-light-medium.json
|
||||
everforest-light-soft.json
|
||||
|
||||
## Web
|
||||
|
||||
web/
|
||||
css/
|
||||
everforest.css
|
||||
demo/
|
||||
index.html
|
||||
style.css
|
||||
demo.js
|
||||
|
||||
## CLI
|
||||
|
||||
cli/
|
||||
ls_colors/
|
||||
template.txt
|
||||
everforest.sh
|
||||
dircolors
|
||||
README.md
|
||||
eza/
|
||||
template.txt
|
||||
everforest.sh
|
||||
README.md
|
||||
htop/
|
||||
template.txt
|
||||
htoprc.everforest
|
||||
README.md
|
||||
ripgrep/
|
||||
template.txt
|
||||
ripgreprc
|
||||
README.md
|
||||
fzf/
|
||||
template.txt
|
||||
everforest.sh
|
||||
README.md
|
||||
delta/
|
||||
template.txt
|
||||
gitconfig.delta
|
||||
README.md
|
||||
bat/
|
||||
template.txt
|
||||
bat.conf
|
||||
README.md
|
||||
starship/
|
||||
template.txt
|
||||
starship.toml
|
||||
README.md
|
||||
zsh/
|
||||
pure-template.txt
|
||||
p10k-template.txt
|
||||
pure.zsh
|
||||
p10k.zsh
|
||||
README.md
|
||||
fish/
|
||||
colors-template.txt
|
||||
prompt-template.txt
|
||||
tide-template.txt
|
||||
everforest-dark-hard.fish
|
||||
everforest-dark-medium.fish
|
||||
everforest-dark-soft.fish
|
||||
everforest-light-hard.fish
|
||||
everforest-light-medium.fish
|
||||
everforest-light-soft.fish
|
||||
fish_prompt.fish
|
||||
tide-preset.fish
|
||||
README.md
|
||||
tmux/
|
||||
template.txt
|
||||
everforest.tmux.conf
|
||||
README.md
|
||||
btop/
|
||||
template.txt
|
||||
everforest.conf
|
||||
README.md
|
||||
bottom/
|
||||
template.txt
|
||||
everforest.toml
|
||||
README.md
|
||||
glances/
|
||||
template.txt
|
||||
everforest.conf
|
||||
README.md
|
||||
neofetch/
|
||||
template.txt
|
||||
everforest.conf
|
||||
README.md
|
||||
ranger/
|
||||
template.txt
|
||||
everforest.py
|
||||
README.md
|
||||
lf/
|
||||
template.txt
|
||||
lfrc.everforest
|
||||
README.md
|
||||
mc/
|
||||
template.txt
|
||||
everforest.ini
|
||||
README.md
|
||||
lazygit/
|
||||
template.txt
|
||||
everforest.yml
|
||||
README.md
|
||||
gitui/
|
||||
template.txt
|
||||
everforest.ron
|
||||
README.md
|
||||
tig/
|
||||
template.txt
|
||||
everforest.tigrc
|
||||
README.md
|
||||
fd/
|
||||
template.txt
|
||||
everforest.sh
|
||||
README.md
|
||||
jq/
|
||||
template.txt
|
||||
everforest.sh
|
||||
README.md
|
||||
less/
|
||||
template.txt
|
||||
everforest.sh
|
||||
README.md
|
||||
zoxide/
|
||||
template.txt
|
||||
everforest.sh
|
||||
README.md
|
||||
atuin/
|
||||
template.txt
|
||||
everforest.toml
|
||||
README.md
|
||||
install.sh
|
||||
|
||||
## Editors
|
||||
|
||||
editors/
|
||||
vim-nvim/
|
||||
colors/
|
||||
everforest_minimal.lua
|
||||
vscode/
|
||||
package.json
|
||||
README.md
|
||||
themes/
|
||||
everforest-dark-hard.json
|
||||
everforest-dark-medium.json
|
||||
everforest-dark-soft.json
|
||||
everforest-light-hard.json
|
||||
everforest-light-medium.json
|
||||
everforest-light-soft.json
|
||||
jetbrains/
|
||||
everforest-dark-hard.icls
|
||||
everforest-dark-medium.icls
|
||||
everforest-dark-soft.icls
|
||||
everforest-light-hard.icls
|
||||
everforest-light-medium.icls
|
||||
everforest-light-soft.icls
|
||||
README.md
|
||||
zed/
|
||||
everforest-dark-hard.json
|
||||
everforest-dark-medium.json
|
||||
everforest-dark-soft.json
|
||||
everforest-light-hard.json
|
||||
everforest-light-medium.json
|
||||
everforest-light-soft.json
|
||||
README.md
|
||||
sublime/
|
||||
everforest-dark-hard.sublime-color-scheme
|
||||
everforest-dark-medium.sublime-color-scheme
|
||||
everforest-dark-soft.sublime-color-scheme
|
||||
everforest-light-hard.sublime-color-scheme
|
||||
everforest-light-medium.sublime-color-scheme
|
||||
everforest-light-soft.sublime-color-scheme
|
||||
README.md
|
||||
|
||||
## Docs
|
||||
|
||||
docs/
|
||||
CLI.md
|
||||
|
||||
## Verify
|
||||
|
||||
verify/
|
||||
verify.sh
|
||||
|
||||
## GitHub
|
||||
|
||||
.github/
|
||||
workflows/
|
||||
build.yml
|
||||
snapshots.yml
|
||||
commitlint.yml
|
||||
cli-verify.yml
|
||||
CODEOWNERS
|
||||
105
meta/implementation-steps.md
Normal file
105
meta/implementation-steps.md
Normal file
@@ -0,0 +1,105 @@
|
||||
Implementation Checklist — Everforest Resources
|
||||
|
||||
Ordered steps to bring the repository from empty → working, following the Full Consolidated Spec. All steps MUST be executed in this order unless noted. LLM AGENTS SHALL NOT DEVIATE FROM THE THEME SPEC.
|
||||
|
||||
⸻
|
||||
|
||||
0) Initialize repository
|
||||
|
||||
git init
|
||||
git remote add origin git@github.com:ivuorinen/everforest-resources.git
|
||||
|
||||
1) Scaffold files & structure
|
||||
|
||||
- Create file tree exactly as specified in “Everforest Resources — File Tree”.
|
||||
- Add empty placeholder files where content will be generated (e.g., terminals/*, editors/*, cli/*, web/css/everforest.css).
|
||||
- Create template.txt files in each CLI tool directory with color placeholders (e.g., {{bg}}, {{fg}}, {{red}}).
|
||||
|
||||
2) package.json & tooling
|
||||
|
||||
- Add npm scripts: generate, validate, ci, snapshots, prepare.
|
||||
- Add devDependencies: husky, @commitlint/config-conventional, @playwright/test.
|
||||
- Add commitlint.config.js.
|
||||
- Run: npm i && npm run prepare (installs Husky).
|
||||
|
||||
3) GitHub setup
|
||||
|
||||
- Add .github/workflows: build.yml, snapshots.yml, commitlint.yml, cli-verify.yml.
|
||||
- Add .github/CODEOWNERS with @ivuorinen.
|
||||
- In repo settings: enable branch protection → require all four checks.
|
||||
|
||||
4) Generator core (scripts/generate-themes.mjs)
|
||||
|
||||
- Implement palette loader (JSON/YAML).
|
||||
- Implement template system: read template.txt files and replace color placeholders with palette values.
|
||||
- Implement writers for terminals: WezTerm, Alacritty, Kitty, Windows Terminal, Ghostty.
|
||||
- Implement web CSS writer (media queries + forced themes + contrast attributes).
|
||||
- Implement CLI template processors for: ls_colors, dircolors, eza/exa, ripgrep, fzf, delta, bat, htop, starship, zsh (pure/p10k), fish (colors + prompts), tmux, btop, bottom, glances, neofetch, ranger, lf, mc, lazygit, gitui, tig, fd, jq, less, zoxide, atuin.
|
||||
- Implement editors: Neovim minimal with options, VS Code 6 variants + package.json, Zed, Sublime Text.
|
||||
- Implement JetBrains .icls generator (save for last due to complexity).
|
||||
- Ensure all writers are called in main() and produce all six variants where applicable.
|
||||
|
||||
5) No-raw-hex guard & pre-commit
|
||||
|
||||
- Add scripts/no-raw-hex.mjs (block hex outside palettes, terminals, web/css).
|
||||
- Add .husky/pre-commit to run: no-raw-hex → generate → validate.
|
||||
- Add .husky/commit-msg to run commitlint.
|
||||
|
||||
6) Web demo & snapshots
|
||||
|
||||
- Create web/demo with index.html (variant/contrast switcher), style.css, demo.js.
|
||||
- Add Playwright test web/demo/snapshot.spec.js.
|
||||
- Verify: npm run snapshots → artifacts.
|
||||
|
||||
7) Installer & verifier
|
||||
|
||||
- Add cli/install.sh (symlink/copy all configs; load dircolors).
|
||||
- Add verify/verify.sh (build Debian container; check tools; fish sourcing).
|
||||
- Integrate cli-verify job in CI (temp HOME, installer, then verifier).
|
||||
|
||||
8) Documentation
|
||||
|
||||
- README.md: TL;DR, Required checks (merge gating), terminal/web/CLI/editor usage summaries.
|
||||
- CONTRIBUTING.md: rules, workflow, PR checklist, Conventional Commits.
|
||||
- docs/CLI.md: one‑pager; ensure all examples use **indented code blocks**.
|
||||
- Enforce documentation rule: no triple backticks; only indented code blocks.
|
||||
|
||||
9) Palette population
|
||||
|
||||
- Add palettes/everforest.json (and/or .yaml) with canonical values.
|
||||
- Validate: npm run generate produces deterministic outputs.
|
||||
|
||||
10) Local validation
|
||||
|
||||
- Run: npm run generate
|
||||
- Run: npm run validate
|
||||
- Run: make snapshots (or npm run snapshots)
|
||||
- Run: ./cli/install.sh then ENGINE=docker ./verify/verify.sh
|
||||
|
||||
11) First commit & PR
|
||||
|
||||
git add -A
|
||||
git commit -m "feat: initial scaffold and generator"
|
||||
git push -u origin main
|
||||
- Open PR (if using a dev branch) → ensure all checks pass.
|
||||
|
||||
12) Post-merge tasks
|
||||
|
||||
- Tag v0.1.0
|
||||
- (Optional) Build VS Code VSIX (vsce) and attach to release.
|
||||
- Announce repository as the canonical Everforest resource hub.
|
||||
|
||||
|
||||
⸻
|
||||
|
||||
Ongoing maintenance
|
||||
|
||||
- Palette-only changes → regenerate → validate → commit.
|
||||
- Add new targets by extending the generator (never hand-edit outputs).
|
||||
- Keep docs and CI in lockstep with generator capabilities.
|
||||
|
||||
Non-negotiable rules
|
||||
|
||||
- Indented code blocks only in docs (no triple backticks).
|
||||
- No raw hex in CLI configs; GUI hex only from generator.
|
||||
- LLM AGENTS SHALL NOT DEVIATE FROM THE THEME SPEC.
|
||||
Reference in New Issue
Block a user