You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+18-16Lines changed: 18 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,18 @@
1
1
# Working with This Workspace
2
2
3
-
Lobstergram is a uv-managed Python workspace. Keep changes small, preserve the
3
+
Lobstersgram is a uv-managed Python workspace. Keep changes small, preserve the
4
4
boundaries between the application and reusable packages, and run the checks
5
5
that cover the code you touched.
6
6
7
7
This file is adapted from the [python-package-copier-template AGENTS.md](https://github.com/mgaitan/python-package-copier-template/blob/main/AGENTS.md).
8
8
9
9
## Workspace Layout
10
10
11
-
-`src/lobstergram/` contains the main Telegram application and its
12
-
`lobstergram` command-line entrypoint.
11
+
-`src/lobstersgram/` contains the main Telegram application and its
12
+
`lobstersgram` command-line entrypoint.
13
13
-`packages/md-to-telegraph/` contains the reusable Markdown-to-Telegraph
14
14
package.
15
-
-`packages/url-to-markdown/` contains the reusable URL/HTML-to-Markdown
15
+
-`packages/markdown-this/` contains the reusable URL/HTML-to-Markdown
16
16
package.
17
17
- Each child package has its own `pyproject.toml`, metadata, dependencies,
18
18
version, `README.md`, `src/<import_name>/`, and package-local tests.
@@ -25,24 +25,24 @@ This file is adapted from the [python-package-copier-template AGENTS.md](https:/
25
25
26
26
```bash
27
27
uv sync
28
-
uv run lobstergram --help
28
+
uv run lobstersgram --help
29
29
uv run pytest -q
30
-
uv run pytest packages/url-to-markdown/tests/test_html.py
30
+
uv run pytest packages/markdown-this/tests/test_html.py
31
31
uv run ruff check .
32
32
uv run ruff format --check .
33
33
uv build --all-packages
34
34
```
35
35
36
-
The default coverage gate measures `md_to_telegraph` and `url_to_markdown` at
36
+
The default coverage gate measures `md_to_telegraph` and `markdown_this` at
37
37
100%. The application tests run in the same pytest invocation, but the root
38
-
configuration does not currently enforce 100% coverage for `lobstergram`.
38
+
configuration does not currently enforce 100% coverage for `lobstersgram`.
39
39
40
40
## Package Boundaries
41
41
42
42
- Keep Telegram orchestration, configuration, persistence, and runtime state
43
-
in `src/lobstergram/`.
43
+
in `src/lobstersgram/`.
44
44
- Keep reusable conversion and extraction logic in the relevant child package.
45
-
- Reusable packages should not import application modules from `lobstergram`.
45
+
- Reusable packages should not import application modules from `lobstersgram`.
46
46
- Put shared QA configuration in the root `pyproject.toml`; keep package
47
47
metadata and package-specific runtime dependencies in the child package's
48
48
`pyproject.toml`.
@@ -53,15 +53,17 @@ Packages are versioned and released independently. Bump a package from the
53
53
workspace root, for example:
54
54
55
55
```bash
56
-
uv version --package url-to-markdown --bump patch
56
+
uv version --package markdown-this --bump patch
57
57
uv lock
58
-
git tag url-to-markdown-v<version>
59
-
git push origin url-to-markdown-v<version>
58
+
git tag markdown-this-v<version>
59
+
git push origin markdown-this-v<version>
60
60
```
61
61
62
-
Use the package names `lobstergram`, `md-to-telegraph`, or
63
-
`url-to-markdown`. The `cd.yml` workflow builds and publishes only the package
64
-
selected by its tag.
62
+
The reusable packages are published independently. Each publishing workflow
63
+
is dedicated to one package: `publish-md-to-telegraph.yml` publishes
64
+
`md-to-telegraph`, and `publish-markdown-this.yml` publishes `markdown-this`.
65
+
The `lobstersgram` application is not published to PyPI yet. A release tag only
Lobstergram is a fast Telegram client for [lobste.rs](https://lobste.rs). It delivers the hottest Lobsters stories (articles that reached the home page) right into Telegram with a clean telegra.ph reading view.
5
+
Lobstersgram is a fast Telegram client for [lobste.rs](https://lobste.rs). It delivers the hottest Lobsters stories (articles that reached the home page) right into Telegram with a clean telegra.ph reading view.
0 commit comments