coloph-sync 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- coloph_sync-0.3.1/.github/workflows/publish.yml +69 -0
- coloph_sync-0.3.1/.gitignore +7 -0
- coloph_sync-0.3.1/AGENTS.md +22 -0
- coloph_sync-0.3.1/LICENSE +674 -0
- coloph_sync-0.3.1/PKG-INFO +134 -0
- coloph_sync-0.3.1/README.md +125 -0
- coloph_sync-0.3.1/pyproject.toml +30 -0
- coloph_sync-0.3.1/scripts/release.py +62 -0
- coloph_sync-0.3.1/src/coloph_sync/__init__.py +1 -0
- coloph_sync-0.3.1/src/coloph_sync/cli.py +261 -0
- coloph_sync-0.3.1/src/coloph_sync/config.py +51 -0
- coloph_sync-0.3.1/src/coloph_sync/engine.py +345 -0
- coloph_sync-0.3.1/src/coloph_sync/git.py +86 -0
- coloph_sync-0.3.1/src/coloph_sync/hooks.py +104 -0
- coloph_sync-0.3.1/src/coloph_sync/skills/contributor/SKILL.md +24 -0
- coloph_sync-0.3.1/src/coloph_sync/skills/finish/SKILL.md +24 -0
- coloph_sync-0.3.1/src/coloph_sync/skills/operator/SKILL.md +17 -0
- coloph_sync-0.3.1/src/coloph_sync/state.py +29 -0
- coloph_sync-0.3.1/src/coloph_sync/storage.py +47 -0
- coloph_sync-0.3.1/tests/test_workflow.py +364 -0
- coloph_sync-0.3.1/uv.lock +108 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
permissions: {}
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
16
|
+
with:
|
|
17
|
+
ref: ${{ github.event.release.tag_name }}
|
|
18
|
+
persist-credentials: false
|
|
19
|
+
- uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
|
|
20
|
+
with:
|
|
21
|
+
version: "0.12.10"
|
|
22
|
+
enable-cache: false
|
|
23
|
+
- run: uv python install 3.12
|
|
24
|
+
- run: uv sync --locked
|
|
25
|
+
- run: uv run ruff check .
|
|
26
|
+
- run: uv run pytest -q
|
|
27
|
+
|
|
28
|
+
build:
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
permissions:
|
|
31
|
+
contents: read
|
|
32
|
+
steps:
|
|
33
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
34
|
+
with:
|
|
35
|
+
ref: ${{ github.event.release.tag_name }}
|
|
36
|
+
persist-credentials: false
|
|
37
|
+
- uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
|
|
38
|
+
with:
|
|
39
|
+
version: "0.12.10"
|
|
40
|
+
enable-cache: false
|
|
41
|
+
- run: uv python install 3.12
|
|
42
|
+
- run: python scripts/release.py build --tag "${{ github.event.release.tag_name }}"
|
|
43
|
+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
44
|
+
with:
|
|
45
|
+
name: distributions
|
|
46
|
+
path: dist/
|
|
47
|
+
|
|
48
|
+
publish:
|
|
49
|
+
needs: [test, build]
|
|
50
|
+
runs-on: ubuntu-latest
|
|
51
|
+
environment: pypi
|
|
52
|
+
permissions:
|
|
53
|
+
contents: read
|
|
54
|
+
id-token: write
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
57
|
+
with:
|
|
58
|
+
ref: ${{ github.event.release.tag_name }}
|
|
59
|
+
persist-credentials: false
|
|
60
|
+
- uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
|
|
61
|
+
with:
|
|
62
|
+
version: "0.12.10"
|
|
63
|
+
enable-cache: false
|
|
64
|
+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
|
|
65
|
+
with:
|
|
66
|
+
name: distributions
|
|
67
|
+
path: dist/
|
|
68
|
+
- run: uv python install 3.12
|
|
69
|
+
- run: python scripts/release.py publish --tag "${{ github.event.release.tag_name }}"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Working on coloph-sync
|
|
2
|
+
|
|
3
|
+
Keep this project simple. Use the smallest change that solves an established problem.
|
|
4
|
+
Keep issue management minimal. Keep design and implementation in the same feature issue.
|
|
5
|
+
Explain open choices in that issue. A feature is complete when it works, not when a plan exists.
|
|
6
|
+
|
|
7
|
+
Use plain English and concrete examples. Explain current behavior before introducing a proposed feature.
|
|
8
|
+
For bugs and small improvements, explain the actual result, expected result, and practical impact.
|
|
9
|
+
Do not present a proposed feature as a broken existing feature.
|
|
10
|
+
Do not create work merely because a test is missing.
|
|
11
|
+
Preserve useful issue text and keep revisions targeted.
|
|
12
|
+
|
|
13
|
+
Never publish links or references to private repositories in code, documentation, issues, pull requests, comments, or release notes.
|
|
14
|
+
Public explanations must stand alone without private project context.
|
|
15
|
+
|
|
16
|
+
Before a release, run `uv lock --check`, `uv run pytest -q`, `uv run ruff check .`, and `python scripts/release.py build --tag vX.Y.Z`.
|
|
17
|
+
Release tags must match the package version and are immutable.
|
|
18
|
+
|
|
19
|
+
Shadow mode and cross-machine handover, leases, and fencing were rejected.
|
|
20
|
+
Do not reintroduce them unless the user explicitly changes that decision.
|
|
21
|
+
|
|
22
|
+
Read README.md for the current CLI and project-command interfaces.
|