lemonadesaltbagel / airlock
A privacy-first local coding agent that consults frontier AI models without exposing your source code.
- Stars
- 210 stars
- Forks
- 42 forks
- Language
- TypeScript
- License
- APACHE-2.0
- Created
- Oct 24, 2026
- Last push
- Oct 28, 2026
- Updated
- Nov 13, 2026
Why these Tags: an agent read the README and quoted it
- Coding agent from the readme:
The local agent does the work.** It reads and edits your code, runs your tests
- Agent sandbox from the readme:
The agent and every command it starts (Seatbelt on macOS, bubblewrap on Linux) can write only inside the project
An agent gave these Tags from the fixed Tag list in the AwesomeRepos source code. A code check kept each Tag only when its quote is in the text. A wrong Tag? Report an error with the form at the end of this page.
Admitted to the Repository Index on Nov 12, 2026: +100 stars in 7 days.
Star History
17 days recorded, Oct 28, 2026 – Nov 13, 2026 (UTC). Net change +216 stars.
The star count of each day is the latest count minus the net stars of the later days.
Add this Star History to a README
The images follow the light or dark theme of the page that shows them, and update every hour.
Add ?theme=light or ?theme=dark
to the chart address to keep one theme.
Star History chart
[](https://awesomerepos.com/lemonadesaltbagel/airlock) Badge
[](https://awesomerepos.com/lemonadesaltbagel/airlock) Timeline
It gained stars on each of the 17 days recorded since Oct 28, 2026.
Its largest 7 days were Nov 4, 2026 to Nov 10, 2026: 100 stars.
- Created on the Repository Host
- Latest push
- Largest star day recorded: +19 stars
- Reached 100 stars, 12 days after it was created
- +17 stars in one day
- +17 stars in one day
- Entered the Repository Index: +100 stars in 7 days
The timeline comes from the creation date and the releases on the Repository Host, the Admission, the Star History, and the Observations. Star milestones show only when the Star History records the day. The list shows up to 5 stable releases from the latest 10 releases recorded. When none of them is stable, one item counts the pre-releases. On the chart of net stars each day, a solid line marks each recorded release.
Forks and pushes
From 2 Observations, Nov 13, 2026 – Nov 14, 2026. Forks +1. AwesomeRepos saw a new push on 0 of 1 days.
- Nov 14, 2026: no new push
A filled day: the last push time changed since the Observation before it.
Health facts
Measured facts in four separate dimensions, each with a date and a source. AwesomeRepos does not add them into one score. AwesomeRepos last read these facts from GitHub on Nov 14, 2026. How AwesomeRepos defines each check
Copies a prompt for a coding agent. It has 5 tasks for the maintainers of lemonadesaltbagel/airlock.
Improve the Health Facts of the GitHub repository lemonadesaltbagel/airlock. AwesomeRepos measures facts about how a repository is maintained, released, secured, and documented. Its page for this repository is https://awesomerepos.com/lemonadesaltbagel/airlock. A change to the repository can improve each of the 5 items below. Each item gives the measured fact or score, and a task. 1. A release in the last 365 days Fact: No GitHub release (read on 2026-11-12). Rule: The newest published GitHub release (a pre-release counts; a draft does not) is 365 days old or less. A repository that publishes only tags, or only to a package registry, has no GitHub release. The release refresh reads the 10 newest releases after each push to the repository, and at least each 30 days. The index refresh reads the date of the last push each day. Task: Prepare a release, but do not publish it. Find the changes since the newest release, propose the next semantic version and the release notes, and ask me to publish the GitHub release. If nothing changed since the newest release, skip this item. If the project publishes only to a package registry, add a CI step that also makes a GitHub release for each version tag. 2. A changelog file at the root Fact: No changelog file at the root (GitHub, 2026-11-14). Rule: The root of the default branch has a file named CHANGELOG, CHANGES, HISTORY, NEWS, RELEASE, or RELEASES, with no extension or with .md, .markdown, .rst, .txt, or .adoc. Release notes on GitHub releases do not count. Task: Add CHANGELOG.md at the root of the default branch. Write one section for each published release, newest first, from the GitHub releases, the Git tags, and the commit history. Do not invent changes. If the project uses a release tool (for example Changesets, release-please, or semantic-release), configure it to update this file for each release. 3. A security policy Fact: GitHub finds no security policy (GitHub, 2026-11-14). Rule: GitHub finds a security policy (SECURITY.md in the repository or in the owner's .github repository). Task: Add SECURITY.md at the root or in .github/. Say which versions get security fixes and how to report a vulnerability privately. If GitHub private vulnerability reporting is on, point to it. Ask me for the contact; do not invent one. 4. A contributing guide Fact: GitHub finds no contributing guide (GitHub, 2026-11-14). Rule: GitHub finds a CONTRIBUTING file in the repository or in the owner's .github repository. Task: Add CONTRIBUTING.md at the root, in docs/, or in .github/. Tell a contributor how to set up the project, run the tests, and propose a change. Use the real commands of this repository (package scripts, Makefile, CI workflows). 5. A code of conduct Fact: GitHub finds no code of conduct (GitHub, 2026-11-14). Rule: GitHub finds a code of conduct in the repository or in the owner's .github repository. Task: Add CODE_OF_CONDUCT.md at the root with the Contributor Covenant 2.1 text. Change only the contact method. Ask me for the contact; do not invent one. Rules for this work: - Each file must be true for this project. Do not copy text that does not apply to it. - Do not choose a licence, a contact, or a release version for me. Ask me. - Do not publish a release, change a repository setting, or push to the default branch. Make the changes on a new branch. - Keep each change small, and run the checks of this repository before you finish. - At the end, list each item as DONE, SKIPPED (with the reason), or NEEDS A DECISION (with the question). AwesomeRepos reads these facts again in its next scan. The definitions of the checks: https://awesomerepos.com/health-facts
Maintenance
3 of 4 checks-
Yes: Not archived
GitHub does not mark the repository as archived. Source
-
Yes: A push in the last 90 days
Last push on 2026-10-28, 17 days ago. Source
-
Yes: Commits in the last 13 weeks
2 commits on the default branch in the last 13 weeks (GitHub, 2026-11-14). Source
-
No: Commits in 26 or more of the last 52 weeks
Commits in 1 of the last 52 weeks (GitHub, 2026-11-14). Source
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 2
- 0
- 0
Releases
0 of 3 checks (1 without data)-
No: A release in the last 365 days
No GitHub release (read on 2026-11-12). Source
-
No data: The newest release tag is a semantic version
No data: no release.
-
No: A changelog file at the root
No changelog file at the root (GitHub, 2026-11-14).
Security practice
0 of 1 check-
No: A security policy
GitHub finds no security policy (GitHub, 2026-11-14).
OpenSSF Scorecard has no result for this repository from the last 90 days.
Community files
1 of 3 checks-
Yes: A licence
GitHub finds the licence APACHE-2.0. Source
-
No: A contributing guide
GitHub finds no contributing guide (GitHub, 2026-11-14).
-
No: A code of conduct
GitHub finds no code of conduct (GitHub, 2026-11-14).
Observations
Latest Observation, Nov 14, 2026: 210 stars, 42 forks, last push Oct 28, 2026, not archived. One of 2 Observations since Nov 13, 2026.