Skip to content

Conversation

@taras
Copy link
Member

@taras taras commented Aug 29, 2025

Motivation

We wanted to bring the website back into effection repository since Deno now supports having multiple projects in one repository. In the process, we also added the ability to render the website by reading content from git repositories instead of via GitHub API.

Approach

It was actually quite a bit of work to be able to read content from git repositories, but it looks like the result was worth while. I'll explain how it works. There are 2 primary abstractions to do most of the heavy lifting,

Fetch API

The fetch API is based on middleware. I was originally going to use @effectionx/context-api but I couldn't because the website uses effection 3, so I copy and pasted it into this repository. The fetch API provides the base abstraction for reading contents from URLs. This is helpful when we need to read data from GitHub API or GitHub website URLs. For example, JSR references GitHub respository URLs. By using the fetch context API, we're able to use a standard interface for fetching data and configure that interface separately.

Repository

Repository is an abstraction for working with repositories. There are two kinds: Git and Octokit. Git read from the file system and Octokit from GitHub API. Both providers are available for reading files, but only Git provider is used for reading files. Octokit provider is used for fetching stars. We should really publish the Git API as a separate package.

@taras taras changed the title Tm/import www Bring the website back into this repository Aug 29, 2025
@pkg-pr-new
Copy link

pkg-pr-new bot commented Aug 29, 2025

Open in StackBlitz

npm i https://pkg.pr.new/thefrontside/effection@1028

commit: b3019e8

Copy link
Member

@cowboyd cowboyd left a comment

Choose a reason for hiding this comment

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

Can we put AGENTS.md into a .agents or something? I'd like to maintain root dir hygiene if possible

Copy link
Member

@cowboyd cowboyd left a comment

Choose a reason for hiding this comment

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

😱 😱 😱

Nice!

@taras
Copy link
Member Author

taras commented Sep 4, 2025

Can we put AGENTS.md into a .agents or something? I'd like to maintain root dir hygiene if possible

@cowboyd unfortunately, according to https://agents.md, it has to be in the root.

AGENTS.md is a simple, open format for guiding coding agents. Think of it as a README for agents.

@taras taras marked this pull request as ready for review September 5, 2025 00:16
@cowboyd
Copy link
Member

cowboyd commented Sep 6, 2025

Commits must have verified signatures.
You might want to scrub Claude off the commit authorship, or else sign on its behalf (not quite sure how to do that)

@taras taras closed this Nov 12, 2025
@taras taras reopened this Nov 12, 2025
@taras taras force-pushed the tm/import-www branch 2 times, most recently from 638af3e to 8edb999 Compare November 23, 2025 22:59
@cowboyd cowboyd self-requested a review December 15, 2025 15:18
We brought it out because of tooling concerns. We're bringing it back
in because it makes it so much easier to work on
@cowboyd
Copy link
Member

cowboyd commented Dec 15, 2025

Checks appear borked.

@cowboyd cowboyd closed this Dec 15, 2025
@cowboyd cowboyd deleted the tm/import-www branch December 15, 2025 16:29
@cowboyd cowboyd restored the tm/import-www branch December 15, 2025 16:30
@cowboyd cowboyd deleted the tm/import-www branch December 15, 2025 16:44
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.

3 participants